我有一个创建数组的 config.php 文件,例如
$config = array(
'foo' => 'bar'
);
function foo()
{
echo 'good';
}
我还有另一个打印东西的实用程序.php 文件,这取决于 config.php
require_once(-the absolute path to config.php-);
class Utility{
function bar()
{
echo count($config);
echo foo();
}
}
我的 index.php 脚本依赖于 config.php 和 utility.php。因此,当我包含 foo.php 时,我再次包含了 config.php。就像是
require_once(-the absolute path to config.php-);
require_once(-the absolute path to utility.php-);
echo count($config);
utility::bar();
这个函数打印出来
1good
但是,当我尝试调用 Utility::bar 时,它会为 count($config) 打印 0 - 尽管 count($config) 在 index.php 中返回 1,但 $config 数组永远不会在 utility.php 中创建。有趣的是,在utility.php 中调用函数foo() 仍然返回“好”。使 $config 全局化并没有改变任何东西(我听说这种风格很糟糕)。