1

我尝试使用继承类访问受保护的属性,但是当我使用 $this->getContainer() 获取值属性时,我得到了 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();

通常,当我调用新的 FrontController 时,它应该在我的受保护属性中打印我的数组,但我得到了 NULL。

有人可以帮助我吗?谢谢!

4

1 回答 1

1

您正在覆盖默认构造函数。将 parent::__construct 添加到前端控制器构造函数

于 2013-08-06T22:45:59.807 回答