Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/02/2011, 22:41
RodrigoG
 
Fecha de Ingreso: diciembre-2009
Ubicación: dirname(__FILE__)
Mensajes: 149
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: ¿Es posible saber el archivo en que se instanció la clase padre?

Era para hacer el controlador abstracto para un sistema MVC de módulos. Es decir:

-modulos/
--Formulario/
---admin/
---publico/
----modelos/
----vistas/
-----vista1.php
-----vista2.php
----Formulario.php <-- extiende de Controlador.php
--Catalogo/
etc.

Controlador.php está en otro directorio "nucleo", entonces necesitaba que esa clase supiera la ruta en donde fue instanceada, para de esa forma poder hacer métodos tipo "listarVistas()", etc.

Ahora lo tengo así (para saber la ruta de las vistas):

Código PHP:
Ver original
  1. $this->vista = CARPETA_BASE . S . 'modulos' . S . get_class($this);
  2. $this->vista .= S . 'publico' . S . 'vistas' . S;

El problema de esa solución es que 'publico' puede variar a 'admin', así que lo ideal es que en vez de ponerlo hardcode se detectara automáticamente.

En todo caso ya encontré otra solución, poner una banderita al comienzo del script con true si es publico y false si es admin.

Al parecer no se puede saber el fichero en donde se instancia una clase, pero bue.
Saludos
__________________
Estreno blog ~ DesarrolladorWeb.cl :)