Domanda

Ho un controller chiamato articoli , che crea il modello di articoli che ottiene i dati rilevanti dal database.

Voglio, se il metodo che chiamo restituisce false , per innescare un errore 404. Questo è quello che ho finora.

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

 $article = new Articles_Model();

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

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

Ho appena aggiunto il mio hook personalizzato che reindirizza l'utente a un vero 404 (/ articoli / pagina-non-trovato /) come attivato da Kohana, ma c'è un modo in cui posso invocare il suo metodo 404 interno per fare in modo che Kohana dia elaborare il mio controller e utilizzare il mio nuovo hook?

È stato utile?

Soluzione

Questo funziona per me:

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

Quale versione di Kohana stai usando?

Altri suggerimenti

Kohana / Generale / Gestione degli errori / Kohana_404_Exception

/**
 * @param  string  URL of page
 * @param  string  custom error template
 */
throw new Kohana_404_Exception([string $page [, string $template]]);

Kohana Docs ti dice come fare esso:

throw HTTP_Exception::factory(404, 'File not found!');
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top