Em Kohana, você pode acionar um erro 404?
-
05-07-2019 - |
Pergunta
Eu tenho um controlador chamado articles
, que cria o modelo de artigos que recebe os dados relevantes do banco de dados.
Eu quero, se o método eu chamo retornos false
, para acionar um erro 404. Isto é o que eu tenho até agora.
$articleName = $this->uri->segment('articles');
$article = new Articles_Model();
$data = $article->getArticleUsingSlug($articleName);
if (!$data) {
Kohana::show_404; // This doesn't work.
}
Eu só adicionei meu próprio gancho costume que redireciona o usuário para uma real 404 (/ artigos / página não encontrada /) como desencadeada por Kohana, mas existe uma maneira que eu possa invocar o seu método interno 404 para fazer Kohana give -se a tratar do meu controlador e usar o meu novo gancho?
Solução
Isso funciona para mim:
Event::run('system.404');
Qual versão do Kohana você está usando?
Outras dicas
Kohana / General /-Tratamento de erros / Kohana_404_Exception
/**
* @param string URL of page
* @param string custom error template
*/
throw new Kohana_404_Exception([string $page [, string $template]]);
Kohana Docs diz-lhe maneira de fazer -lo:
throw HTTP_Exception::factory(404, 'File not found!');