I have a controller called articles
, which creates the articles model which gets the relevant data from the database.
I want to, if the method I call returns false
, to trigger a 404 error. This is what I have so far.
$articleName = $this->uri->segment('articles');
$article = new Articles_Model();
$data = $article->getArticleUsingSlug($articleName);
if (!$data) {
Kohana::show_404; // This doesn't work.
}
I just added my own custom hook which redirects the user to an actual 404 (/articles/page-not-found/) as triggered by Kohana, but is there a way I can invoke its internal 404 method to make Kohana give up processing my controller and use my new hook ?
This works for me:
Event::run('system.404');
What version of Kohana are you using?
Kohana / General / Error-handling / Kohana_404_Exception
/**
* @param string URL of page
* @param string custom error template
*/
throw new Kohana_404_Exception([string $page [, string $template]]);
Kohana Docs tells you way to do it:
throw HTTP_Exception::factory(404, 'File not found!');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With