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


Declaring an objects variable as a new object error - PHP

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

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 是要走的路。