Php 将SQL对象传递到新类中

Php 将SQL对象传递到新类中,php,Php,我有一个活动的mysql对象,其中包含我的连接等$db->query(我的查询)。 我想把这个对象传递到一个新类中,这样我就不必再创建这个对象了 我如何将其传递到新类中,使其仍然处于活动状态 class NewClass { var $db; function __construct($db) { $this->db=$db; } } 想法?我觉得你的例子很有道理。它是三种依赖注入类型之一Martin Fowler: 建造师 塞特 接口 例如,如果希望使用sette

我有一个活动的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;
  }
}