FuelPHP - Gestione degli errori e debug
FuelPHP fornisce un eccellente supporto per la gestione degli errori e il debug dell'applicazione. Comprendiamo la gestione degli errori e il debug in questo capitolo.
Gestione degli errori
La gestione degli errori di FuelPHP si basa su eccezioni. FuelPHP fornisce l'eccezione PhpErrorException per tutti i vecchi errori php. FuelPHP solleva PhpErrorException ogni volta che si incontra un errore nel codice PHP. FuelPHP semplifica anche la visualizzazione di pagine di errore personalizzate per vari codici di stato HTTP.
Errore file non trovato
FuelPHP fornisce una nuova classe di eccezione, HttpNotFoundException per gestire le richieste sconosciute. A volte, potremmo incontrare la richiesta che potrebbe non essere gestita. A quel punto, possiamo semplicemente lanciare HttpNotFoundException.
Per impostazione predefinita, una pagina predefinita è configurata per HttpNotFoundException nel file di configurazione delle rotte, fuel / app / config / routes.php utilizzando la voce 400. Ogni volta che viene generata HttpNotFoundException, la richiesta verrà reindirizzata a 400 pagine.
'_404_' => 'welcome/404', // The main 404 route
Errori interni
FuelPHP fornisce una nuova classe di eccezioni, HttpServerErrorException per gestire tutti gli errori del server. A volte, potremmo non essere in grado di elaborare la richiesta fornita a causa di errori interni. A quel punto, possiamo semplicemente lanciare HttpServerErrorException.
Per impostazione predefinita, una pagina predefinita è configurata per HttpServerErrorException nel file di configurazione delle rotte, fuel / app / config / routes.php utilizzando la voce 500. Ogni volta che viene sollevata HttpServerErrorException, la richiesta verrà reindirizzata alla pagina 500.
'_500_' => 'welcome/500', // The main 500 route
Questa pagina registrerà l'errore, mostrerà l'errore formattato nella pagina e occasionalmente invierà una notifica all'amministratore di sistema.
Errori di violazione di accesso
FuelPHP fornisce una nuova classe di eccezione, HttpNoAccessException per gestire le violazioni di accesso. A volte, potremmo non essere in grado di elaborare la richiesta a causa della limitazione dell'accesso. A quel punto, possiamo semplicemente lanciare HttpNoAccessException.
Per impostazione predefinita, una pagina predefinita è configurata per HttpNoAccessException nel file di configurazione delle rotte, fuel / app / config / routes.php utilizzando la voce 403. Ogni volta che viene generata HttpNoAccessException, la richiesta verrà reindirizzata alla pagina 403.
'_403_' => 'welcome/403', // The main 403 route
Questa pagina mostrerà le informazioni sulla violazione di accesso.
Debug
Il debug è una delle attività più frequenti nello sviluppo di un'applicazione. FuelPHP offre una classe semplice,Debugper gestire l'attività di debug dell'applicazione. Impariamo la classe Debug ei suoi metodi in questo capitolo.
Classe di debug
La classe Debug fornisce metodi di utilità per mostrare le informazioni dettagliate su variabili, oggetti, array, ecc. La classe Debug fornisce i seguenti metodi,
discarica
Il metodo dump restituisce più valori misti al browser in un modo strutturato formattato.
Debug::dump($var1, $var2);
backtrace ()
backtrace mostra le informazioni dettagliate sull'esecuzione corrente del codice. Mostra le informazioni sul file PHP, la riga corrente e tutte le sue azioni precedenti.
Debug::backtrace();
classi()
Restituisce un elenco di tutte le classi.
Debug::classes();
interfacce ()
Restituisce un elenco di tutte le classi di interfaccia.
Debug::interfaces();
include ()
Restituisce un elenco di tutti i file inclusi attualmente caricati in fase di runtime.
Debug::includes();
funzioni ()
Restituisce un elenco di tutte le funzioni.
Debug::functions();
costanti ()
Restituisce un elenco di tutte le costanti.
Debug::constants();
estensioni ()
Restituisce un elenco di tutte le estensioni.
Debug::extensions();
intestazioni ()
Restituisce un elenco di tutte le intestazioni HTTP.
Debug::headers();
phpini ()
Stampa un elenco delle impostazioni di configurazione lette dal file php.ini.
Debug::phpini();