我想知道如何手動啓動執行我的MVC應用程序的控制器操作。我的目標是使用簡單的include將/ myController/myAction的html輸出集成到另一個php應用程序(typo3)中。我想到手動實例化控制器,視圖和佈局,繞過調度器。可悲的是我無法得到它的工作。我目前的方法如下所示:在Zend Framework中可以手動調度嗎?
// standard bootstrap ... setting up autoloader, database etc.
$layout = new Zend_Layout();
$layout->setLayoutPath(('/application/default/layouts'));
$layout->setLayout('main');
$layout->setContentKey('content');
$view = new Zend_View();
$controller = new IndexController(new Zend_Controller_Request_Http($currenUrl), new Zend_Controller_Response_Http());
$controller->view = $view;
$controller->init();
$controller->hinweisAction();
$layout->content = $view->render();
echo $layout->render();
實例化佈局不成問題,但創建控制器時會變得複雜。在調用構造函數之後設置視圖實例不起作用,因爲在實例化過程中已經需要視圖。
什麼是這種情況下的「正確」方式?也許實現一個簡單的用戶定義調度程序,它使用來自我的預定義的控制器和操作名稱?
電賀
喬治WACHTER
很好,謝謝! – 2009-11-27 10:02:45
我想補充一點,您可能也想要獲得$ response對象的句柄,而不是盲目地輸出它。 – blockhead 2009-11-27 13:15:36