将SQL Object传递给新类

时间:2012-11-22 09:10:33

标签: php

我有一个活动的mysql对象,其中包含我的连接等。$ db-> query(我的查询)。 我想将此对象传递给新类,因此我不必再次创建对象

我如何将它传递到新课程中,以便它仍然有效?

class NewClass {
  var $db;
  function __construct($db) {
   $this->db=$db;
 }

}

思想?

1 个答案:

答案 0 :(得分:0)

你的例子似乎对我有用。它是三种类型的依赖注入Martin Fowler identifies之一:

  • 构造
  • 设置器
  • 接口

例如,如果您想使用setter注入而不是构造函数注入,请在类上创建一个setter方法以接受数据库参数。为了防止其他代码使用NewClass的对象作为数据库对象的提供者,也可能值得私有属性。

class NewClass {
  private $db;
  public function setDb($db) {
    $this->db=$db;
  }
}