В Kohana, вы можете вызвать ошибку 404? - PullRequest
10 голосов
/ 06 мая 2009

У меня есть контроллер с именем articles, который создает модель статей, которая получает соответствующие данные из базы данных.

Я хочу, чтобы, если метод, который я вызываю, возвращал false, чтобы вызвать ошибку 404. Это то, что я имею до сих пор.

 $articleName =  $this->uri->segment('articles');

 $article = new Articles_Model();

 $data = $article->getArticleUsingSlug($articleName);

 if (!$data) {
    Kohana::show_404; // This doesn't work.
 }

Я только что добавил свой собственный пользовательский хук, который перенаправляет пользователя на фактический 404 (/ article / page-not-found /), запущенный Kohana, но есть ли способ, которым я могу вызвать его внутренний метод 404, чтобы заставить Kohana давать вы обрабатываете мой контроллер и используете мой новый хук?

Ответы [ 3 ]

11 голосов
/ 11 августа 2009

Kohana / Общее / Обработка ошибок / Kohana_404_Exception

/**
 * @param  string  URL of page
 * @param  string  custom error template
 */
throw new Kohana_404_Exception([string $page [, string $template]]);
11 голосов
/ 06 мая 2009

Это работает для меня:

Event::run('system.404');

Какую версию Kohana вы используете?

1 голос
/ 09 октября 2017

Kohana Docs подсказывает вам способ сделать это:

throw HTTP_Exception::factory(404, 'File not found!');
...