CodeIgniter - обработка ошибок

Часто при использовании приложения мы сталкиваемся с ошибками. Если ошибки не обрабатываются должным образом, пользователей очень раздражает. CodeIgniter предоставляет простой механизм обработки ошибок.

Вы хотите, чтобы сообщения отображались, когда приложение находится в режиме разработки, а не в рабочем режиме, поскольку сообщения об ошибках можно легко решить на этапе разработки.

Среду вашего приложения можно изменить, изменив приведенную ниже строку с index.phpфайл. Это может быть установлено любое значение, но обычно для этой цели используются три значения (разработка, тестирование, производство).

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');

В разных средах требуются разные уровни отчетов об ошибках. По умолчанию в режиме разработки отображаются ошибки, а в режиме тестирования они скрываются. CodeIgniter предоставляет три функции, как показано ниже, для обработки ошибок.

  • show_error() функция отображает ошибки в формате HTML вверху экрана.

Syntax

show_error ( $ message, $ status_code, $ heading = 'Произошла ошибка' )

Parameters

  • $message( смешанный ) - Сообщение об ошибке

  • $status_code( int ) - Код состояния HTTP-ответа

  • $heading( строка ) - Заголовок страницы ошибки

Return Type

смешанный
  • show_404() функция отображает ошибку, если вы пытаетесь получить доступ к несуществующей странице.

Syntax

show_404 ( $ page = '', $ log_error = ИСТИНА )

Parameters

  • $page( строка ) - строка URI

  • $log_error( bool ) - Регистрировать ли ошибку

Return Type

пустота
  • log_message()функция используется для записи сообщений журнала. Это полезно, когда вы хотите писать собственные сообщения.

Syntax

log_message ( $ level, $ message, $ php_error = FALSE )

Parameters

  • $level( строка ) - Уровень журнала: 'ошибка', 'отладка' или 'информация'

  • $message( строка ) - Сообщение в журнал

  • $php_error( bool ) - Регистрируем ли мы собственное сообщение об ошибке PHP

Return Type

пустота

Ведение журнала можно включить в application/config/config.phpфайл. Ниже приведен снимок экрана с файлом config.php, где вы можете установить пороговое значение.

/*
|--------------------------------------------------------------------------------
|   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;

Вы можете найти сообщения журнала в application/log/. Перед включением файлов журнала убедитесь, что этот каталог доступен для записи.

Различные шаблоны сообщений об ошибках можно найти в application/views/errors/cli или же application/views/errors/html.