我对Zend有点新鲜,我想在整个应用程序中自动使用控制器操作,我不清楚如何使用它,想到init()方法,动作助手,等
答案 0 :(得分:0)
然后,而不是简单地创建控制器动作创建controllerAction Helper。在这里您可以找到更多相关信息
http://framework.zend.com/manual/en/zend.controller.actionhelpers.html
My_Helper_Magic extends Zend_Controller_Action_Helper_Abstract
{
public function preDispach()
{
//code inside here will run for entire application automatically
}
}
在你的引导程序中
Zend_Controller_Action_HelperBroker::addHelper(new My_Helper_Magic());
回应评论。
这取决于你的'代码片段',如果你的代码片段不需要对模块,控制器,动作,基本url一无所知那么你可以使用Bootstrap init函数
喜欢
public function _initAlways()
{
//see how this function name is prefixed with _init hence it will be called by ZF //everytime. You can put your code fragment here
//If your code fragment depends upon some stuff like baseurl then do action controller
// registration here instead
Zend_Controller_Action_HelperBroker::addHelper(new My_Helper_Magic());
}
回应评论
您可以在Zend_Registy中保存对象的任何实例,并在您喜欢的时候检索它
Inside Bootstrap.php
public function _initSetup()
{
$object = new My_Custom_Object();
Zend_Registry::set('my_custom_object',$object);
}
稍后在您的视图或控制器中执行
$myObject = Zend_Registry::get('my_custom_object'); //to access it