2012-04-25 52 views
0

我对Zend有点新鲜感,我想自动地使用整个应用程序中的控制器动作,我对如何使用它没有清晰的想法,想过init()方法,动作助手等。通过应用程序访问控制器动作 - Zend

请给我一个想法

感谢

+0

不值得一个完整的答案,但:有,请看一下'FrontController'-插件手动 – KingCrunch 2012-04-25 10:11:27

回答

0

然后而不是简单地创建控制器操作创建controllerAction助手的。在这里,你可以找到更多关于它

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,那么你可以使用引导程序初始化函数

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和检索等。无论您喜欢

里面的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 
+0

说,我想在应用程序中加载和使用一些代码片段,并在每个控制器中自动加载,我该怎么做?通过引导文件? – Shaolin 2012-04-25 10:19:43

+0

@ user1355857我已经更新了我的答案nw – 2012-04-25 10:30:46

+0

嗨,很抱歉给您造成困扰并感谢您的快速回复,我理解您的答案并需要进一步澄清。实际上我想要的是自动返回一个对象,并在任何地方使用它,如视图,控制器。那么我能够在引导文件中编写肌动蛋白并在视图或操作中使用它?如果是这样,我怎么能在视图中调用该函数。感谢advacne – Shaolin 2012-04-25 10:54:01

相关问题