CodeIgniter User Guide Version 2.0.0


Обработка ошибок

CodeIgniter позволяет вам обрабатывать сообщения об ошибках, используя функции, описанные ниже. К тому же, он имеет класс логгирования ошибок, который позволяет записывать в текстовые файлы сообщения об ошибках и сообщения отладки.

Примечание: По умолчанию CodeIgniter показывает все ошибки PHP. Вы можете изменить это поведение по факту окончания разработки. Найдите функцию error_reporting(), находящуюся в верху вашего главного файла index.php. При выключении вывода сообщений об ошибках они все равно будут записываться в файлы логов.

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

Следующие функции позволят вам генерировать ошибки:

show_error('message' [, int $status_code= 500 ] )

Эта функция отобразит сообщение об ошибке, в соответствии с шаблоном:

application/errors/error_general.php

Опциональный параметр $status_code определяет, какой код статуса HTTP должен быть отправлен вместе с ошибкой.

show_404('page' [, 'log_error'])

Эта функция отобразит сообщение об ошибке 404, в соответствии с шаблоном:

application/errors/error_404.php

Функция ожидает строку — путь к странице, которая не найдена. CodeIgniter автоматически показывает сообщения 404, если не найден контроллер.

CodeIgniter автоматически записывает все вызовы show_404(). Установка второго опционального параметра в FALSE выключит логгирование.

log_message('level', 'message')

Эта функция позволяет вам записывать сообщения в файлы логов. Вы должны передать один из трех "уровней" в первом параметре, отражающим тип сообщения (отладка, ошибка, информация), с сообщением во втором параметре. Пример:

if ($some_var == "")
{
    log_message('error', 'Some variable did not contain a value.');
}
else
{
    log_message('debug', 'Some variable was correctly set');
}

log_message('info', 'The purpose of some variable is to provide some value.');

Существуют три типа ошибок:

  1. Сообщения об ошибках (Error). Это актуальные ошибки, такие как ошибки PHP или ошибки пользователя.
  2. Сообщения отладки (Debug). Это сообщения, которые помогают с отладкой. Например, если класс был инициализирован, вы можете записать это как отладочную информацию.
  3. Информационные сообщения (Info). Это сообщения с наименьшим приоритетом, просто дающие информацию относительно некоторых процессов. CodeIgniter не генерирует информационные сообщения по умолчнию, но вы можете делать это в своем приложении.

Примечание: Для того, чтобы записывался файл лога, директория "logs" должна быть доступной для записи. К тому же, вы должны устанавливать "порог" для логгинга. Вы можете, к примеру, записывать только сообщения об ошибках, но не другие два типа. Если вы установите порог в ноль, логгирование будет выключено.