在CakePHP 3.0命名参数已被删除(感谢上帝)有利于标准的查询字符串参数在线与其他应用程序框架。CakePHP的3.0查询字符串参数VS传递的参数
什么我仍然在努力让我的头周围虽然是在其他的MVC框架,例如ASP.NET,你会传入的ActionResult参数(相同的功能):
Edit(int id = null) {
// do stuff with id
}
而且该方法会被传入ID作为查询字符串,如:/Edit?id=1
,你会使用路由让它非常喜欢:/Edit/1
。
在CakePHP函数的参数里面方式通不过任何事情:/Edit/1
绕过查询字符串理念,还需要对路由改善网址:
function edit($id = null) {
// do stuff with $id
}
必须像一个传递的参数来完成。
如果我的名字在链接的PARAMS对于编辑,如:
$this->Html->link('Edit', array('action' => 'edit', 'id' => $post->id));
然后我要做的:
public function edit() {
$id = $this->request->query('id');
// do stuff with $id
}
要获取传递的参数ID。会想到它会捡起来,在功能上类似于ASP.NET的CakePHP的3.0,但事实并非如此。
我宁愿前缀的编辑链接传递的值,而不是只是路过他们,所以我没有给尽可能多的担心序的另一端,我知道他们是什么等
有任何人都玩过的任何数据传递到他们在CakePHP的方法,可以揭示做事的正确方法更加轻便的这些方式如何变化在3.0版本将提高这方面的事情......
为什么CakePHP的让你的类型,因为它之间的选择在ASP.NET中看起来比我看到的更干净,因为直到您使用路由器使其成为漂亮的版本(您在CakePHP中通过传递的参数默认看到)之前,默认查询字符串。感谢Jose的信息,非常感谢。 – Cameron