Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/03/2006, 10:40
Avatar de enriqueplace
enriqueplace
 
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Un ejemplo de la solución que uso actualmente ...

Si, la solución "parche" que he hecho al momento se basa en el "document_root", pero el tema es que (como decía en la parte de "el huevo o la gallina") en algún momento debes hacer uso de una referencia "inicial", lo cual deberás repetir en absolutamente todos los fuentes de tu sistema.

Un ejemplo práctico:

1) Me creo un archivo "configuracion.php" donde defino todas la información que necesito para posicionarme en cada "capa" del sistema; en este caso decidí que lo más efectivo era crear variables de sesión. Este sería su contenido:

$_SESSION['HOME']= $_SERVER[DOCUMENT_ROOT];

$_SESSION['APLICA']= $_SERVER[DOCUMENT_ROOT]."/nombre_aplicacion";



$_SESSION['DOM']= $_SESSION['APLICA']."/Dominio";

$_SESSION['PRE']= $_SESSION['APLICA']."/Presentacion";

$_SESSION['PER']= $_SESSION['APLICA']."/Persistencia";

2) Pero para que esto funcione y esté disponible para todos los fuentes, debo incluir el "configuracion.php". Y para eso, necesito volver a llamar al "document_root":

/* CONFIGURACION INICIAL */

session_start();

$aplicacion = $_SERVER[DOCUMENT_ROOT]."/nombre_aplicacion";

require_once ($aplicacion."/configuracion.php");



/* CARGA DE CLASES */

require_once($_SESSION['PRE'].'\Template.class.php');



¿Se entiende la idea de esta solución?

Me molesta bastante tener que estar obligado a hacer estas "3 líneas obligatorias" para poder hacer uso de esta solución. Pensaba que tal vez podría definir las variables en el servidor sin tener que depender de una sesión ni de una llamada al archivo de configuración.

Como decía en el correo original, esto debería estar solucionado con el uso de "namespaces", pero me gustaría conocer otras experiencias u otras opiniones al respecto de este "problema".

¿O me dirán que no usan subdirectorios, o que tienen "hardcode" las referencias a los directorios?
__________________
Blog phpsenior.com Cursos a Distancia surforce.com