如何阻止视图变量在Zend Framework中被覆盖?

时间:2013-08-13 06:21:20

标签: php zend-framework

我有一个动作设置一个名为“类别”的视图变量,如下所示。

class CategoryController extends Zend_Controller_Action 
{
    public function indexAction() 
    {       
            $this->view->categories = 'A list of categories';
    }
}

现在,在布局中使用categories变量来显示类别列表。

但是这里的问题是这个问题,我有一堆其他的动作,使用前端控制器插件调用,“类别”变量被其中一个动作覆盖。

有没有办法防止类别变量的值被覆盖?即使用的东西我可能能够存储由category-> index动作和其他动作生成的categories变量,并在我的布局中访问它们。

我总是可以更改变量的名称,但如果有任何其他解决方案,我们仍会感激。

另外,我可以使用命名响应段实现此目的吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

也许您在设置值时添加其他操作的检测,并且索引操作直接设置值。

其他行动,

if(!isset($this->view->categories))$this->view->categories='xxx';

category-> index action

$this->view->categories = 'A list of categories';