为什么PEAR不使用绝对路径?

时间:2013-03-20 06:15:48

标签: php pear

为什么PEAR会这样做:

require_once 'HTML/QuickForm2/Exception.php'; 

而不是这个?:

require_once dirname(__FILE__) . '/Exception.php';

我唯一能找到的就是:

https://pear.php.net/bugs/bug.php?id=17517

它应该是“完全与PEAR标准和设计指南相反的方向”。我的问题是......为什么?

1 个答案:

答案 0 :(得分:1)

PEAR严重依赖于include路径,这样就可以通过简单地将另一个目录添加到包含路径来覆盖类。

示例:

require_once 'Foo/Bar.php';

会在Foo/Bar.php中指定的每个目录中查找include_path。如果您想提供自己的已修补Foo/Bar.php,只需执行

即可
set_include_path(__DIR__ . '/patches/' . PATH_SEPARATOR . get_include_path());

并在Foo/Bar.php目录中创建文件patches/。您正在使用的库类现在将自动使用您的自定义Foo_Bar类,而无需进行任何修改。