构造函数中的类实例

时间:2015-02-16 19:47:48

标签: php constructor instance

我不确定我的做法。 A有两个类,在第二类中调用第一类函数,如下所示:

class A {

    public function aClassFunction() {...}

}


class B {

    private $aClass;

    public function __construct() {
        $this->aClass = new A();
    }

    public function bClassFunction() {
        $test = $this->aClass->aClassFunction();
    }
}

它只是有效,但看起来“可疑”。

2 个答案:

答案 0 :(得分:1)

您可以在B课程中使用依赖注入。这种方法可以帮助你在测试中模拟类。

class B {

    private $aClass;

    public function __construct(A $a) {
        $this->aClass = $a;
    }

    public function bClassFunction() {
        $test = $this->aClass->aClassFunction();
    }
}

$b = new B(new A());

答案 1 :(得分:1)

看起来像一个依赖的“怀疑”。为什么不注入依赖?

class B {

    private $aClass;

    public function __construct($object) {
        $this->aClass = $object;
    }

    public function bClassFunction() {
        $test = $this->aClass->aClassFunction();
    }
}