CodeIgniter - obsługa błędów
Wielokrotnie podczas korzystania z aplikacji natrafiamy na błędy. Jest to bardzo irytujące dla użytkowników, jeśli błędy nie są prawidłowo obsługiwane. CodeIgniter zapewnia łatwy mechanizm obsługi błędów.
Chcesz, aby komunikaty były wyświetlane, gdy aplikacja jest w trybie programowania, a nie w trybie produkcyjnym, ponieważ komunikaty o błędach można łatwo rozwiązać na etapie programowania.
Środowisko twojej aplikacji można zmienić, zmieniając podaną poniżej linię z index.phpplik. Można ustawić dowolną wartość, ale zwykle do tego celu służą trzy wartości (programowanie, testowanie, produkcja).
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
Różne środowiska będą wymagać różnych poziomów raportowania błędów. Domyślnie tryb programistyczny wyświetla błędy i testy, a tryb na żywo je ukrywa. CodeIgniter zapewnia trzy funkcje, jak pokazano poniżej, do obsługi błędów.
show_error() funkcja wyświetla błędy w formacie HTML u góry ekranu.
Syntax |
show_error ( $ message, $ status_code, $ header = 'Napotkano błąd' ) |
Parameters |
|
Return Type |
mieszany |
show_404() funkcja wyświetla błąd, jeśli próbujesz uzyskać dostęp do strony, która nie istnieje.
Syntax |
show_404 ( $ page = '', $ log_error = TRUE ) |
Parameters |
|
Return Type |
unieważnić |
log_message()Funkcja służy do zapisywania komunikatów dziennika. Jest to przydatne, gdy chcesz pisać własne wiadomości.
Syntax |
log_message ( $ level, $ message, $ php_error = FALSE ) |
Parameters |
|
Return Type |
unieważnić |
Logowanie można włączyć w application/config/config.phpplik. Poniżej znajduje się zrzut ekranu z pliku config.php, w którym można ustawić wartość progową.
/*
|--------------------------------------------------------------------------------
| Error Logging Threshold
|--------------------------------------------------------------------------------
| You can enable error logging by setting a threshold over zero. The
| threshold determines what gets logged. Threshold options are:
|
| 0 = Disable logging, Error logging TURNED OFF
| 1 = Error Message (including PHP errors)
| 2 = Debug Message
| 3 = Informational Messages
| 4 = All Messages
|
| You can also pass an array with threshold levels to show individual error types
|
| array(2) = Debug Message, without Error Messages
| For a live site you'll usually only enable Errors (1) to be logged otherwise
| your log files will fill up very fast.
|
*/
$config['log_threshold'] = 0;
Komunikaty dziennika można znaleźć w application/log/. Przed włączeniem plików dziennika upewnij się, że w tym katalogu można zapisywać.
Różne szablony komunikatów o błędach można znaleźć w application/views/errors/cli lub application/views/errors/html.