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 $templateAdvertencia: 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.