2013-08-06 69 views
1

我尝试访问受保护属性的继承类,但是当我使用$ this-> getContainer()获得我的value属性时,我得到了NULL值,而且我没有知道为什么...OOP使用getX()继承访问受保护的属性

我非常简化我的代码:

<?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,它应该打印我的阵列在我的保护财产,但我得到空。

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

回答

1

您正在覆盖默认的构造器。 添加家长:: __构造到前端控制器的构造函数

+0

哦,很好,它的工作!我的错!哈哈哈感谢:) – coolfarmer