1

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

class EG extends DH {

     public $var = // VALUE OF DH
}

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

class EG {

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

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

谢谢

4

1 回答 1

2

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

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

它被称为依赖注入它优先于扩展

我必须补充一点,有时继承是正确的方法,但是您描述情况的方式使 DI 看起来是正确的方法。

于 2012-06-14T21:45:56.347 回答