【发布时间】:2015-08-20 02:36:39
【问题描述】:
我有一个名为 index.php 的 PHP 文件,在里面我说:
include_once "settings.php";
include_once "autoload.php";
settings.php 文件说:
$srcDir = "/home/blah.php";
那么 autoload.php 有这样一个函数:
function __autoload($class)
{
echo "srcdir is: $srcDir";
}
但是我得到一个错误,$srcDir 没有定义
也许有更好的 OOP 方式来做这一切,但我只是使用 settings.php 来设置文件路径,我希望它便于公司的平面设计师编辑,只是简单的文件
【问题讨论】:
-
你的意思是
$srcDir = "/home/blah.php";(错过了$)?只要变量是在当前范围内定义的,它们就可以被连续包含的脚本看到,这些脚本在范围内访问它们。 -
哦,这只是我在这里打错了,$ 在那里。是的,我很困惑为什么它不起作用。
-
如何从自动加载功能中尝试 file_get_contents('settings.php');如果它不起作用,则不包含该文件。试试看
-
或者你可以做 print_r(get_included_files());查看是否正在加载设置文件
-
多么奇怪 - 当我打印 file_get_contents 行时,什么都没有出现,但是 print_r 获取包含的文件的东西确实显示了包含的 settings.php 文件。我什至把那个 print_r 东西放在函数里面,它显示了包含的文件,但我仍然得到错误。 settings.php 文件本身是正确的,它设置了变量,如果我在其中添加一个 echo 来显示变量,它就可以工作。多么奇怪