我有一个活动的 mysql 对象,其中包含我的连接等。$db->query(我的查询)。我想将此对象传递给一个新类,因此我不必再次创建该对象
我将如何将它传递到新课程中以便它仍然有效?
class NewClass {
var $db;
function __construct($db) {
$this->db=$db;
}
}
想法?
我有一个活动的 mysql 对象,其中包含我的连接等。$db->query(我的查询)。我想将此对象传递给一个新类,因此我不必再次创建该对象
我将如何将它传递到新课程中以便它仍然有效?
class NewClass {
var $db;
function __construct($db) {
$this->db=$db;
}
}
想法?
你的例子对我来说似乎有效。它是 Martin Fowler确定的三种依赖注入类型之一:
例如,如果您想使用 setter 注入而不是构造函数注入,请在您的类上创建一个 setter 方法以接受数据库参数。也可能值得将该属性设为私有,以防止其他代码使用对象NewClass
作为数据库对象的提供者。
class NewClass {
private $db;
public function setDb($db) {
$this->db=$db;
}
}