通过变量你的意思是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