【发布时间】:2012-02-25 03:03:14
【问题描述】:
当我使用 require_once 并尝试访问所需文件中的变量时,我收到一个错误,即变量 ($db) 未定义。
我试图将require_once 语句放在几个不同的地方,因为我认为这可能是变量范围的问题,但此时我尝试在构造函数中调用它并将值分配给类变量。
我的配置类:
class Config {
public $db;
public function __construct() {
require_once (BASE_DIR."config/DBConfig.php");
$this->db = $db;
}
}
DBConfig 文件如下所示:
$db['default']['hostname'] = 'localhost'
【问题讨论】:
-
您的 DBConfig 文件就是这样吗?没有
<?php? -
我实际上是通过制作 Config 类单例来解决它。似乎由于 Require_once 仅在第一次创建类时获取文件,因此该变量仅在我创建的第一个对象中可用。
-
@LasseVabeRolstad:这是
require_once的正常行为。它只需要一次。由此得名。另请参阅require并请在下面添加您的“解决方案”作为答案并接受它(实际上我会说 Luc Franken 有答案)。只需在使用之前预先设置您需要的东西,然后您就不会遇到这些问题。是的,Singleton 是您的问题的一部分,而不是解决方案。
标签: php