我有两个用户类:
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
得到一个空对象。我正在做什么有什么问题?
答案 0 :(得分:2)
您省略了对父构造函数的调用,该构造函数包含您依赖的行为。
class Map extends Elastic
{
private $mapping;
function __construct($elasticaType)
{
parent::__construct();
var_dump($this->elastic); die();
}
}
在PHP(以及许多其他OO语言)中,子类可以选择调用它覆盖的函数。