Dans Kohana, pouvez-vous déclencher une erreur 404?
-
05-07-2019 - |
Question
J'ai un contrôleur appelé articles
, qui crée le modèle d'articles qui extrait les données pertinentes de la base de données.
Je souhaite, si la méthode que j'appelle renvoie false
, déclencher une erreur 404. C’est ce que j’ai eu jusqu’à présent.
$articleName = $this->uri->segment('articles');
$article = new Articles_Model();
$data = $article->getArticleUsingSlug($articleName);
if (!$data) {
Kohana::show_404; // This doesn't work.
}
Je viens d'ajouter mon propre crochet personnalisé qui redirige l'utilisateur vers un 404 réel (/ articles / page-not-found /) déclenché par Kohana, mais y a-t-il un moyen de faire appel à sa méthode interne 404 pour que Kohana donne traiter ma manette et utiliser mon nouveau crochet?
La solution
Cela fonctionne pour moi:
Event::run('system.404');
Quelle version de Kohana utilisez-vous?
Autres conseils
Kohana / Général / Traitement des erreurs / Kohana_404_Exception
/**
* @param string URL of page
* @param string custom error template
*/
throw new Kohana_404_Exception([string $page [, string $template]]);
Kohana Docs vous indique comment procéder. ça:
throw HTTP_Exception::factory(404, 'File not found!');