我想更改我的應用程序的默認路由,以通過Bootstrap.php使用可選參數,而不是在application.ini中。我在設置所有「逃生」路線時遇到困難,我甚至不知道是否需要設置幾條路線,或者我只能使用一條路線!在默認的Zend路由中添加一個可選參數
路線必須是這樣的
":module/:area/:controller/:action"
其中:面積是可選的,默認爲「公共」
所以到http://www.example.com/my_module/my_controller/my_action任何訪問,我可以通過FC插件以下獲得:
$request->getParam('area') = "public"
而在http://www.example.com/my_module/my_area/my_controller/my_action我得到:
$request->getParam('area') = "my_area"
主要的麻煩是創造所有路線,因此逃到默認模塊,指數控制器的情況下,指數這些行動沒有傳遞太多和裝載http://www.example.com/回報一樣http://www.example.com/default/public/index/index。
我想使用URL Helper來生成內部URL,並且它尊重這個新的默認路由上正確的程序集。
編輯:我認爲默認路由帶有模塊的故障安全保護,如果它不存在,它默認爲控制器,但是如何模仿URL和模塊本身的其他部分的類似行爲在Bootstrap中創建它時。
任何人都可以給我一些光明或建議我在哪裏可以找到一個工作的例子?
Yeap,這是我想要避免的。我雖然有一種方法可以簡單地添加路由:( –
)添加路由可能有助於訪問正確的控制器/操作,但是您仍然需要對路由器進行更改以允許在不同的設置中生成URL。總是使用'setGlobalParam'來避免路由器的改變,但是鏈接並不總是看起來像你所建議的那樣 –
我選擇使用Zend_Controller_Router_Route_Module的修改版本而不是重寫!然後我在Bootstrap上使用它!讓你知道結果,現在就開始吧! –