为什么我从构造函数PHP获取空对象?

时间:2015-05-21 12:09:19

标签: php

我有两个用户类:

class Elastic
{

    protected $elastic;

    function __construct()
    {
        $this->elastic = new \Elastica\Client();
    }

}

我的第二堂课首先延伸:

class Map extends Elastic
{

    private $mapping;

    function __construct($elasticaType)
    {
        var_dump($this->elastic); die();
    }
}

但我从$this->elastic得到一个空对象。我正在做什么有什么问题?

1 个答案:

答案 0 :(得分:2)

您省略了对父构造函数的调用,该构造函数包含您依赖的行为。

class Map extends Elastic
{

    private $mapping;

    function __construct($elasticaType)
    {
        parent::__construct();
        var_dump($this->elastic); die();
    }
}

在PHP(以及许多其他OO语言)中,子类可以选择调用它覆盖的函数。