2013-08-06 67 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