/action?query=value
和/action/query:value
因为后者似乎是在CakePHP中处理查询字符串的方式,我如何在Cake中执行后者或前者?
由于
答案 0 :(得分:6)
常规php的例子:
...action.php?name=blah&id=7
您可以像访问:
$name = $_GET['name'];
$id = $_GET['id'];
在CakePHP中使用命名参数的示例:
...action/name:blah/id:7
你可以像这样访问它们:
$name = $this->params['named']['name'];
$id = $this->params['named']['id'];
UPDATE:不再建议在CakePHP中使用命名参数,因为它们已在CakePHP 3.0 +中删除
在CakePHP中使用命名参数的好处:
旁注:
您还可以通过url / CakePHP发送参数,而无需使用命名参数:
...action/blah/7
这些由函数变量检索:
function action($name, $id) {
答案 1 :(得分:2)
在第一种情况下,您可以像在vanilla PHP中一样访问查询字符串参数:
foreach ($_GET as $param => $value){
// do stuff
}
我从未见过第二种使用的方法,但我最好的猜测是那些作为控制器动作的额外参数,并且可以通过类似于$_GET
的键来索引。不过,这是一个完全的猜测。