2010-08-18 37 views
1

URL的邏輯是: http://mySite.com/adminusers/listusers/Zend的新手 - 基於URL

我的控制器被稱爲

公共職能listusersAction()

http://mySite.com/adminusers/listusers/regular  
http://mySite.com/adminusers/listusers/premium 
http://mySite.com/adminusers/listusers/excecutive 

我如何能捕捉最後的部分網址爲控制器文件listusersAction中的paremter?

謝謝

+0

請更詳細的您的問題..它不清楚你真的想問什麼? – PHP 2010-08-19 09:21:53

+0

你想從URL中提取「正規」,「高級」,「執行」嗎? – PHP 2010-08-19 09:22:44

回答

0

我通常使用正則表達式路由的那種東西。例如,你可以設置,定義如下路線:

routes.adminusers-listusers.type = "Zend_Controller_Router_Route_Regex" 
routes.adminusers-listusers.route = "adminusers/listusers/(\w+)" 
routes.adminusers-listusers.defaults.controller = adminusers 
routes.adminusers-listusers.defaults.action = listusers 
routes.adminusers-listusers.map.1 = "usertype" 
routes.adminusers-listusers.reverse = "adminusers/listusers/%s" 

然後,控制器上,您可以通過查詢請求參數訪問的用戶類型:

$params = $this->getRequest()->getParams(); 
$userType = $params['usertype'];