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