Mother类属性返回NULL

时间:2013-05-15 16:02:22

标签: php class object parent

我在php Object上工作,我有一个问题,我尝试从一个母类调用一个属性(它是一个对象),它是null。我会告诉你我的问题:

Class A {
    protected $attribute;

    public function __construct() {
         $this->attribute = new C();
    }

    public function foo() {
        new B();
    }
}

Class B extends A {
     public function __construct() {
         var_dump($this->attribute) // show "NULL"
     }
}
你能帮帮我吗?谢谢。

1 个答案:

答案 0 :(得分:0)

你在 B 中覆盖 A 的构造函数,这意味着A的构造函数永远不会被调用,因此,$attribute永远不会被设置。如果要在B中执行A的构造函数,则需要明确地执行:

class B extends A {
     public function __construct() {
         parent::__construct(); // This is required if you want to execute A's constructor
         var_dump($this->attribute);
     }
}