我一直在用链接在 CakePHP 中进行试验,并注意到有时你只是传递参数,有时传递带有前缀名称的参数。两个链接有什么区别:
$this->Html->link('Edit', array('controller'=>'users','action'=>'edit', $user['User']['id']));
$this->Html->link('Edit', array('controller'=>'users','action'=>'edit', 'id'=> $user['User']['id']));
由于路由功能,他们创建的 URL 在很大程度上无关紧要,但在第一个示例中,我直接在控制器方法中访问 id,例如:
public function edit( $id )
但是对于命名参数,我必须使用路由器物理传递它!
任何人都可以对此有所了解吗?有什么区别以及何时使用...
另外值得注意的是,在 CakePHP 3.0 中,他们删除了看起来很奇怪的命名参数,因为两个链接仍然可以工作......对此有什么想法吗?