我是一个php newb,我正在努力寻找路径。
我在我的应用程序的根目录中有一个config.php文件,我在其中定义了一个存储父目录路径的常量。
define("SITE_ROOT", realpath(dirname(__FILE__)));
该网站将有不同的文件夹: /包括/ /管理/ /主题/
现在,即使SITE_ROOT常量是全局的,我也知道全局声明只在脚本结束之前声明。
例如,如果我在admin.php中回显SITE_ROOT,我将收到一个php错误,因为我没有将config.php包含在admin.php中。
现在,有没有办法在每个文件中跳过包括config.php并让我的SITE_ROOT在任何地方都可以继续使用?
非常非常! :)答案 0 :(得分:3)
有一个php ini设置auto_prepend_file,它允许您指定在每个请求开始时自动加载给定文件。
话虽如此,我强烈建议不要使用这种方法。如果你不能在每个脚本的顶部require_once("config.php")
,那么另一种方法是使用类似apache的mod_rewrite(通过.htaccess)来将所有请求路由到单个“bootstrap”脚本。从那里加入config.php
,然后分析请求,并加载相应的脚本来处理它。