快速CakePHP方法问题

时间:2011-06-29 14:24:32

标签: php cakephp

我已经看到这是一些CakePHP方法function view ( $id = null ),但这是什么意思?

e.g。有什么区别:

function view ( $id = null )function view ( $id )

此外,我将如何强制执行以便视图方法需要一个id,例如domain.com/Controller/View/someothertext会导致错误404,因为它不是ID

2 个答案:

答案 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');
   }
}