php包含链

时间:2011-08-02 10:23:38

标签: php architecture include chaining

这是我的问题,我有一个旧网站,其中包含一些像这样的模块,

root_dir
    |-->module1
    |-->module2
    |-->module3

根据我的需要,我为这个结构添加了一个子级,就像这样,

root_dir
    |-->module1
    |-->module2
        |-->submodule2.1
    |-->module3

我的问题是每个模块都包含一个“include.php”文件,然后包含其他文件,因此,如果我将include.php的第一个路径修复为../include.php,它将在第二个包含文件时崩溃...

这里是否有一个好的解决方法,除了复制所有文件并修复包含的路径?

THX

2 个答案:

答案 0 :(得分:2)

您是否尝试将include_once用于常见的include.php文件:

include_once('../include.php');

或者在共同的祖先文件中包含一次代码。

还是我过度简化?这些选项对你有用吗?

答案 1 :(得分:0)

“这两个都是独立的,但它们包含相同的include.php(加载网站的配置环境)”

您最好已经加载了配置,或者使用某种方法(工厂从全局设置类中获取配置数据,......)允许加载设置,而不了解您的实际文件结构(从模块的角度来看)。对于您在模块中使用的所有其他内容(如数据库对象)也是如此。