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"); }
/** * 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); }
/** * @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(); } }