예제 #1
0
 public function test_instanciacion_distinto_class_name()
 {
     $recurso = new rest_instanciador();
     $recurso->archivo = realpath(__DIR__ . "/ClassB.php");
     $objeto = $recurso->get_instancia(true);
     $this->assertEquals(get_class($objeto), "ClassB_otro_nombre_clase");
 }
예제 #2
0
 /**
  * La clase no puede tener namespaces (esta pensada para las del modelo).
  *
  * @param $archivo
  */
 public function __construct($archivo)
 {
     $i = new rest_instanciador();
     $i->archivo = $archivo;
     $obj = $i->get_instancia();
     $this->reflexion = new ReflectionClass($obj);
     $this->get_annotations($this->reflexion);
 }
예제 #3
0
 /**
  * @param $path
  *
  * @return anotaciones_docs
  */
 protected function add_modelos($path)
 {
     $lector = rest::app()->lector_recursos;
     //new lector_recursos_archivo($this->api_root);
     $archivo = $lector->get_recurso(explode('/', $path));
     $i = new rest_instanciador();
     $i->archivo = $archivo['archivo'];
     $objeto = $i->get_instancia();
     if (method_exists($objeto, '_get_modelos')) {
         $modelo = new modelo_recursos();
         $specs = $modelo->to_swagger($objeto->_get_modelos());
         $this->list['definitions'] = array_merge($this->list['definitions'], $specs);
     } else {
         rest::app()->logger->debug('El objeto no tiene el metodo _get_modelos. Clase: ' . get_class($objeto));
         return array();
     }
 }