首先,是否可以将扩展类放入类中的变量中,如下所示,
class EG extends DH {
public $var = // VALUE OF DH
}
其次,我一直在做这件事的方式,
class EG {
public $var;
public function __construct() {
$this -> var = new DH();
}
}
这样做的原因是我需要将 DH
类方法传递给在类外部定义的函数。
谢谢
正确的方法是将其作为参数传递
class EG {
public $var;
public function __construct( DH $dh ) {
$this -> var = $dh;
}
}
它被称为依赖注入,它比扩展更可取
我必须补充一点,有时继承是正确的方法,但你描述你的情况的方式让人觉得 DI 是要走的路。