我正在尝试创建一个动态导航类。
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
}
}
在boostrap中我做了以下
$nlinks=myApp_Helper_Breadcrum::getInstance();
Zend_Registry::set('nlinks',$nlinks);
现在在我的控制器中,我调用如下
$nlinks= Zend_Registry::get('nlinks');
$nlinks->popin('Home');
$nlinks->displayLinks();
问题是,即使这个类是单例的,构造函数也会被一次又一次地调用,这使得我的数组被初始化。我想要实现的是在浏览网站时继续推送导航数组中的项目。
知道为什么ZF会这样吗?