gpt4 book ai didi

php - 定义我自己的 BASE_PATH 与 set_include_path?

转载 作者:可可西里 更新时间:2023-11-01 12:34:42 24 4
gpt4 key购买 nike

我了解到函数 set_include_path()。一直以来,我在config.php文件中定义了一个常量

define('BASE_PATH', '/var/www/mywebsite/public_html/');

在所有后续的 php 文件中,我会这样包含

include(BASE_PATH.'header.php');
include(BASE_PATH.'class/cls.data_access_object.php');

constant 方法与 set_include_path 方法相比有什么优势,反之亦然吗?不变的方法是否过时了?

最佳答案

使用 set_include_path()(或 ini_set('include_path', ...))允许您指定包含您的库代码的多个文件夹。例如,如果您的应用程序依赖于各种不同的框架/库,例如PEAR 和 Zend FW,你可能有类似的东西,

ini_set('include_path', '/usr/local/php/pear:/usr/local/php/zendfw');

该方法的缺点是它将使用它首先找到的任何文件;如果在多个包含路径中有一个名为“Mailer.php”的文件,它将包含它找到的第一个文件,如果这不是您的意图,则会导致细微的错误。良好的代码组织通常可以解决该问题。此外,include_path 通过真实路径缓存 ( http://us2.php.net/realpath ),有时需要根据您的设置对其进行调整以获得更好的性能。

两种方式都可以,但是使用 define() 方法更明确。

FWIW,我通常使用 ini_set('include_path', ...)。

关于php - 定义我自己的 BASE_PATH 与 set_include_path?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1787661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com