gpt4 book ai didi

PHP - 类构造中的 Require_once

转载 作者:行者123 更新时间:2023-12-03 02:40:55 27 4
gpt4 key购买 nike

当我使用 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'

最佳答案

我会采取不同的方式,并为此使用依赖注入(inject),给你:

public function __construct((IDb)$Db) {
$this->db=$Db;
}

这样以后测试你的软件就更容易了,很明显这个类需要一些数据库对象。这使得您的代码耦合性也降低,这似乎是一个很好的架构决策。

此外,它还可以更轻松地开始使用例如不同的数据库类,从而节省您以后的时间和精力。

关于PHP - 类构造中的 Require_once,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9112664/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com