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

  • $message( mieszane ) - komunikat o błędzie

  • $status_code( int ) - kod statusu odpowiedzi HTTP

  • $heading( string ) - nagłówek strony błędu

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

  • $page( string ) - ciąg URI

  • $log_error( bool ) - czy rejestrować błąd

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

  • $level( string ) - Poziom logowania: „błąd”, „debugowanie” lub „informacje”

  • $message( string ) - wiadomość do zalogowania

  • $php_error( bool ) - czy rejestrujemy natywny komunikat o błędzie PHP

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.