将变量传递给每个控制器在Zend Framework中使用注册表

问题描述:

我可以使用zend Registry来保存要在其他控制器中使用的变量吗? 这是我的代码,不能在另一个控制器中工作:将变量传递给每个控制器在Zend Framework中使用注册表

Zend_Registry :: set('id',$ Id);

Zend_Registry是旧学校$GLOBALS的替代方案。这是一个容器,你把东西放在里面,稍后再检索它们。

你在哪里把id注册?在Bootstrapinit?确保它在你的应用程序流程中被调用。

+0

我把它放在行动的某个地方而不是int或bootstrap – 3ehrang 2010-05-01 07:59:26

也许你期望zend_registry像一个cookie一样工作,它不会。如果你在一个控制器中设置了某些东西,然后点击一些链接到另一个控制器,你将丢失这些数据否则像shadowfax说的只是确保你在应用程序流程中的某个地方设置你的数据。