мне нужна помощь в блоге учебник CakePHP 2.0 в части PostsController
http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html
Я не могу понять, где $id
пришли в параметре определяется а $id = null
так мое понимание является $id
должно быть пустым, но это не пустой
public function view($id = null) {
if (!$id) {
throw new NotFoundException(__('Invalid post'));
}
$post = $this->Post->findById($id);
if (!$post) {
throw new NotFoundException(__('Invalid post'));
}
$this->set('post', $post);
}
Я знаю, что реальная стоимость $id
пришли из URL, в этом случае cakephp/posts/view/$id
, но я хочу знать, как это $id
из URL получил через PostsController
Просто хотел бы добавить, что лучше либо делать, если заявление после того, как ваш ' $ post = $ this-> Post-> findByid ($ id); 'и проверить' if (empty ($ post)) 'или изменить' is_null ($ id) 'to'! $ this-> Post-> существует ($ ID) '. У вас может быть неверный идентификатор, который является недопустимым сообщением, требующим «NotFoundException» – iso27002
Действительно. Обычно я использую метод 'if (! $ This-> ModelName-> exists ($ id)) в моих собственных приложениях CakePHP. В качестве примера вышесказанное было просто написано с манжетой. –