我有以下設置:如何在Zend Framework過程中調用其他控制器並檢索其呈現的視圖?
無盡運行的PHP進程,查看包含模塊名稱,控制器名稱,操作名稱和參數數組的作業隊列。
對於每一份工作,我想調用給定的控制器操作並檢索呈現的視圖以供進一步處理。
我正在考慮爲每個工作引導一個Zend_Application的實例,但並不完全確定如何處理其餘部分。也許還有更好的方法。
所以我的問題是:
我如何調用Zend框架內處理其他控制器和檢索其渲染的看法?
感謝大家提前!
我有以下設置:如何在Zend Framework過程中調用其他控制器並檢索其呈現的視圖?
無盡運行的PHP進程,查看包含模塊名稱,控制器名稱,操作名稱和參數數組的作業隊列。
對於每一份工作,我想調用給定的控制器操作並檢索呈現的視圖以供進一步處理。
我正在考慮爲每個工作引導一個Zend_Application的實例,但並不完全確定如何處理其餘部分。也許還有更好的方法。
所以我的問題是:
我如何調用Zend框架內處理其他控制器和檢索其渲染的看法?
感謝大家提前!
我想服用Front_Controller和調度新的請求,將是最好的事情。
這樣的事情,從你的控制器(不工作密碼):
$frontController = $this->getFrontController();
$newRequest = new Zend_Controller_Request_Http();
$newRequest->setActionName('newAction');
$newRequest->setControllerName('newController');
$response = new Zend_Controller_Response_Http();
$frontController->dispatch($newRequest, $response);
它可能不是這種簡單的事,但想想...
$this->_forward('otherAction', 'otherControllerOrNull');
http://framework.zend.com/manual/en/zend.controller.dispatcher.html
你可以閱讀這個線程:Calling member function of other controller in zend framework?
你能不能用一個Action View Helper?如果你想在你的控制器輸出,那麼你可以簡單地使用$this->view->action('someAction', 'someController');
或ActionStack助手。
無論哪種情況,請注意性能影響。有關更多詳細信息,請參閱Why the Zend Framework Actionstack is Evil。
它的工作原理:$ request = new Zend_Controller_Request_Http(); ('Zend_Controller_Router_Route) - > setParam('setActionName('testAction' noViewRenderer',true); ...謝謝! :-) – favo 2010-10-13 17:54:48