我目前正在编写地址簿并第一次使用框架(CakePHP)和 MVC。不幸的是,我遇到了一些麻烦。
我想实现以下几点:
如果 URL 是
/contacts/view/
我想在列表中显示所有联系人。如果 /view/ 之后有一个 id,例如
/contacts/view/1
我只想显示 ID 为 1 的联系人。(与第一种情况完全不同的视图/设计)
我的 ContactsController.php 如下
public function view($id = null){
if(!$this->id){
/*
* Show all users
*/
$this->set('mode', 'all');
$this->set('contacts', $this->Contact->find('all'));
} else {
/*
* Show a specific user
*/
$this->set('mode','single');
if(!$this->Contact->findByid($id)){
throw new NotFoundException(__('User not found'));
} else {
$this->set('contact', $this->Contact->findByid($id));
};
}
}
但是“$this->mode”总是设置为“all”。如何检查 id 是否设置?我真的很想避免像 ?id=1 这样的“丑陋”的 URL 方案
提前致谢!