Просто примечание: URL-адреса всегда должны быть в нижнем регистре, если вы собираетесь следовать соглашениям CakePHP.
Если у вас есть функция в одном из ваших контроллеров, ее параметры определяются URL-адресом
Например: domain.com/users/view/foo/bar/
Вызовет:
UsersController::view('foo', 'bar');
В вашем случае функция просмотра будет принимать идентификатор пользователя, поэтому еслиЕсли вы хотите вызвать функцию просмотра для пользователя с идентификатором 12, вы должны задать URL-адрес: domain.com/users/view/12
Значение по умолчанию используется для предотвращения ошибок PHP в случае, если URL-адрес не содержит параметров, то есть: domain.com/users/view
будет вызывать UsersController::view();
.Поскольку значением по умолчанию является null
, это будет то же самое, что и вызов UsersController::view(null);
Что касается вашего второго вопроса:
Ваша функция просмотра может выглядеть следующим образом
function view($id = null) {
if (!is_numeric($id)) {
$this->redirect('/404.html');
}
}