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 |
|
Return Type |
смешанный |
show_404() функция отображает ошибку, если вы пытаетесь получить доступ к несуществующей странице.
Syntax |
show_404 ( $ page = '', $ log_error = ИСТИНА ) |
Parameters |
|
Return Type |
пустота |
log_message()функция используется для записи сообщений журнала. Это полезно, когда вы хотите писать собственные сообщения.
Syntax |
log_message ( $ level, $ message, $ php_error = FALSE ) |
Parameters |
|
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.