2012-04-25 82 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

相關問題