通过连接另一个字符串

时间:2017-04-11 15:43:08

标签: php

我的项目中有数百个地方包含以下代码:

include $root . $template;

其中$root是CRM相关部分的文档根目录,$template是HTML模板文件。 $root变量对于CRM的不同部分是不同的。

我现在想让CRM的所有部分使用相同的模板文件。我不能简单地将$root更改为中央文档根目录,因为代码中有其他位置使用该变量。我只想更改它以加载模板。

有没有办法节省时间,所以我不必遍历代码中出现的所有地方?是否有一种方法可以使$template字符串在连接时覆盖$root字符串?

即。

$root="$_SERVER['document_root']."\some_folder";
$template="[something_to_ignore_concatination?]".$_SERVER['document_root']."\template_file";
//So $root.$template = just $template

1 个答案:

答案 0 :(得分:3)

警告:您在下面看到的是令人厌恶的内容,请勿在真实软件中使用此内容!

假设这些值:

$_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'

你可以符号链接

path/to/root/some_folder/path/to/root -> path/to/root/

这样双路径仍然可以解决。

注意:上述路径应视为相对于添加到PHP include_path的其中一个文件夹。