我已经看到这是一些CakePHP方法function view ( $id = null )
,但这是什么意思?
e.g。有什么区别:
function view ( $id = null )
和function view ( $id )
此外,我将如何强制执行以便视图方法需要一个id,例如domain.com/Controller/View/someothertext
会导致错误404,因为它不是ID
答案 0 :(得分:0)
view
函数只接受一个参数($id
)。如果未提供,则将使用默认值null
。
如果您希望改变默认值,可以像这样更改:
function view ( $id = 'domain.com/Controller/View/someothertext' )
答案 1 :(得分:0)
请注意:如果您要遵循CakePHP惯例,则URL应始终为小写。
如果您的某个控制器中有某个功能,则其参数由URL确定
例如:
domain.com/users/view/foo/bar/
会打电话:
UsersController::view('foo', 'bar');
在您的情况下,view函数将获取用户的ID,因此如果您想为ID为12的用户调用view函数,则应将URL设置为:domain.com/users/view/12
默认值是为了防止在URL不包含参数的情况下出现PHP错误,即:domain.com/users/view
会调用UsersController::view();
。由于默认值为null
,因此与调用UsersController::view(null);
至于你的第二个问题:
您的查看功能可能是这样的
function view($id = null) {
if (!is_numeric($id)) {
$this->redirect('/404.html');
}
}