Hay cientos de lugares en mi proyecto que contienen el siguiente código:
include $root . $template;
Donde $root
es la raíz del documento para la parte relevante del CRM y $template
es el archivo de plantilla HTML. La variable $root
es diferente para diferentes partes del CRM.
Ahora quiero hacer que todas las partes del CRM usen el mismo archivo de plantilla. No puedo simplemente cambiar $root
a la raíz del documento central porque hay otros lugares en el código que usan esa variable. Solo quiero cambiarlo para cargar la plantilla.
¿Hay alguna manera de ahorrar tiempo, de modo que no tenga que revisar todos los lugares de mi código donde aparece esto? ¿Hay alguna forma de hacer que la cadena $template
sobrescriba la cadena $root
cuando se concatena?
es decir
$root="$_SERVER['document_root']."\some_folder"; $template="[something_to_ignore_concatination?]".$_SERVER['document_root']."\template_file"; //So $root.$template = just $template
Advertencia: lo que verá a continuación es una abominación, ¡no use esto en software real!
Asumiendo estos valores:
$_SERVER['document_root'] = 'path/to/root' $root == $_SERVER['document_root'] . '/some_folder' == 'path/to/root/some_folder' $template == '/' . $_SERVER['document_root'] . '/file.php' == '/path/to/root/file.php' $root . $template == 'path/to/root/some_folder/path/to/root/file.php'
Podrías enlazar
path/to/root/some_folder/path/to/root -> path/to/root/
Para que el doble camino aún se resuelva.
Nota: Las rutas anteriores deben tratarse como relativas a una de las carpetas agregadas a PHP include_path.