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?

Foi útil?

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!');
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top