通過變量你的意思是GET查詢字符串參數,如在/foo?key=value
?您可以通過the request object:$this->request->query['key']
在控制器中訪問它們。
如果您正在尋找更加集成的東西,您可以使用CakePHP的默認路由或創建自己的路由。
默認路由使用URL如/controller/action/param1/param2
並將參數傳遞給按位置操作。例如/posts/view/521
映射到view(521)
的呼叫PostsController
,並且/posts/byMonth/2012/02
映射到對byMonth("2012","02")
的呼叫。
您也可以使用命名參數和URL看起來像/controller/action/key1:value1/key2:value2
。在控制器操作中,您可以使用$this->params['named']['key1']
來閱讀它們。
隨着定製路線你可以讓你的網址任何你想要的。你不會被強迫進入/ controller/action模式。你可以把/archives/2012-02
映射到PostsController::byMonth(2012,2)
,或者把/512-post-title
映射到PostsController::view(512)
。
通常,您會從默認路線開始,並在您決定需要時添加自定義路線。您可以在http://book.cakephp.org/2.0/en/development/routing.html
中看到有關默認和自定義路線的所有信息。這是類似於我想要的。儘管我想在/之後獲取變量,例如http://www.domain.com/pages/variable。所以我想要一個獲取頁面後變量的方法/? – mickburkejnr 2012-02-24 15:36:38
你需要一個自定義路線。默認路由處理'/ controller/action/variable'類型的URL。 – Joni 2012-02-24 15:47:18