将对象变量声明为新对象错误 - PHP

时间:2012-06-14 21:40:43

标签: php class variables object

首先,可以将扩展类放入类中的变量,如下所示,

class EG extends DH {

     public $var = // VALUE OF DH
}

其次是我一直这样做的方式,

class EG {

     public $var;
     public function __construct() {
         $this -> var = new DH();
     }
}

原因是我需要将DH类方法传递给在类外定义的函数。

由于

1 个答案:

答案 0 :(得分:2)

正确的方法是将其作为参数传递

class EG {
     public $var;
     public function __construct( DH $dh ) {
         $this -> var = $dh;
     }
}

它被称为dependency injectionit is preferred to extending

我必须补充一点,有时继承是正确的方法,但是你描述你的情况的方式使得它看起来像DI是要走的路。