ダイナミック ナビゲーション クラスを作成しようとしています。
class myApp_Helper_Breadcrum{
protected $navigationArray=array();
private static $_instance = null;
public static function getInstance()
{
if (!isset(self::$_instance)) {
self::$_instance = new self();
}
return self::$_instance;
}
private function __construct() {
$this->navigationArray = array();
}
public function popin($popInElement){
array_push($this->navigationArray,$popInElement);
}
public function displayLinks()
{
//print array
}
}
ブーストラップで私は次のことをしました
$nlinks=myApp_Helper_Breadcrum::getInstance();
Zend_Registry::set('nlinks',$nlinks);
今私のコントローラーで私は次のように呼んでいます
$nlinks= Zend_Registry::get('nlinks');
$nlinks->popin('Home');
$nlinks->displayLinks();
問題は、このクラスがシングルトンであっても、コンストラクターが何度も呼び出され、配列が初期化されることです。私が達成しようとしているのは、サイトをナビゲートするときにナビゲーション配列のアイテムを押し続けることです。
なぜZFでこのようになっているのか考えていますか?