我想爲我的ZF應用程序設置一些路由,但沒有太多。我有一個控制器'WebServiceController',它有一個索引操作和一個lookupTransaction操作。我想使用的路線是這樣的:Zend框架路由
WS/
WS/lookupTransaction
理想情況下,我想用「WS /」前綴什麼去WebServiceController並匹配動作名稱。我不知道該怎麼做,但是我想獲得每條路線的工作,所以我說這兩條路線:
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
function _initRoutes()
{
$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$router->addRoute('ws', new Zend_Controller_Router_Route('ws/', array(
'controller' => 'web-service',
'action' => 'index',
)));
$router->addRoute('ws/lookupTransaction', new Zend_Controller_Router_Route('ws/lookupTransaction', array(
'controller' => 'web-service',
'action' => 'lookup-transaction',
)));
}
}
第一個工作正常,但第二個沒有,我只是得到'應用程序錯誤'。我究竟做錯了什麼?只是出於興趣,如果我刪除我的兩條路線,並嘗試去:
Web服務/查找事務
我仍然得到同樣的錯誤!
解決
這是我如何使它發揮作用駱駝套管動作名稱和駱駝套管URL。
$router->addRoute('ws', new Zend_Controller_Router_Route('ws/:action', array(
'controller' => 'web-service',
'action' => 'index',
)));
$router->addRoute('ws-lookupTransaction', new Zend_Controller_Router_Route('ws/lookupTransaction', array(
'controller' => 'web-service',
'action' => 'lookup-transaction',
)));
感謝
齊亞德
你的WebServiceController有一個lookupTransactionAction? – wimvds 2011-04-26 12:31:02
順便說一句您可以打開錯誤日誌記錄,並檢查日誌中的具體原因(可能是您已定義動作,但沒有在視圖上定義視圖/禁用渲染,這會引發異常)。 – wimvds 2011-04-26 12:38:23
謝謝wimvds,我確實有這個動作,但是我沒有正確設置環境,所以沒有得到完整的錯誤信息,現在已經修復了。 – Ziad 2011-04-27 11:09:44