我尝试使用继承类访问受保护的属性,但是当我使用$ this-> getContainer()获取我的value属性时,我得到了NULL值,我不知道为什么......
我非常简化了我的代码:
<?php
abstract class Kernel
{
protected $container;
public function __construct() {
$this->setContainer(['config' => 'OK']);
}
public function setContainer($array) {
$this->container = $array;
}
public function getContainer() {
return $this->container;
}
}
class AppKernel extends Kernel {
}
class FrontController extends AppKernel
{
public function __construct() {
var_dump($this->getContainer());
}
}
// Init
$kernel = new AppKernel();
$FrontController = new FrontController();
Normaly,当我调用新的FrontController时,它应该在我的受保护属性中打印我的数组,但我得到了NULL。
有人可以帮我吗? 谢谢!
答案 0 :(得分:1)
你要覆盖默认的构造函数。 将parent :: __ construct添加到前端控制器构造函数