我正在寻找一种方法来设置范围require_once()到全局范围,何时require_once()在函数内部使用.类似下面的代码应该工作:
文件`foo.php':
<?php
$foo = 42;
Run Code Online (Sandbox Code Playgroud)
实际代码:
<?php
function includeFooFile() {
require_once("foo.php"); // scope of "foo.php" will be the function scope
}
$foo = 23;
includeFooFile();
echo($foo."\n"); // will print 23, but I want it to print 42.
Run Code Online (Sandbox Code Playgroud)
有没有办法明确设定范围require_once()?有一个很好的解决方法吗?
当我使用require_once并尝试访问所需文件中的变量时,我得到一个错误,即variable($db)未定义.
我试图将require_once语句放在几个不同的位置,因为我认为它可能是变量范围问题,但此时我尝试在构造函数中调用它并将值赋给类变量.
我的配置类:
class Config {
public $db;
public function __construct() {
require_once (BASE_DIR."config/DBConfig.php");
$this->db = $db;
}
}
Run Code Online (Sandbox Code Playgroud)
DBConfig文件如下所示:
$db['default']['hostname'] = 'localhost'
Run Code Online (Sandbox Code Playgroud)