Обработка ошибок
CodeIgniter позволяет вам создавать сообщения об ошибках в ваших приложениях, используя функции, как показано ниже. К тому-же он имеет класс логгирования, который позволяет сохранять сообщения об ошибках и отладочные сообщения в текстовые файлы.
Примечание: По умолчанию CodeIgniter выводит все ошибки PHP. Вы можете изменить это поведение, когда завершите разработку. Вы найдете функцию error_reporting() вверху файла index.php. Выключение вывода сообщений об ошибках не влияет на логгирование.
В отличие от большинства систем в CodeIgntier, функции ошибок это простые процедурные интерфейсы, которые доступны глобально по всему приложению. Такой подход позволяет работать с сообщениями об ошибках, не беспокоясь о месте, где они происходят.
Следующие функции позволят вам генерировать сообщения об ошибках:
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')
Эта фунция позволяет вам записать сообщение в файл лога. Вы должны передать один из трех «уровней» в первом параметре, указывающий на тип ошибки (debug, error, info) вместе с сообщением во втором параметре. Например:
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.');
Есть три типа сообщений:
- Сообщения об ошибках. Это актуальные ошибки, такие как ошибки PHP или пользовательские ошибки.
- Сообщения отладки. Это сообщения, связанные с отладкой. Например, если класс инициализировался, вы можете записать это в отладочную информацию.
- Информационные сообщения. Они имеют наименьший приоритет, просто давая информацию о каких-то процессах. CodeIgniter не генерирует такие сообщения, но вы можете использовать их в вашем приложении.
Примечаие: Чтобы сообщения записывались, вы должны убедиться в том, что директория logs имеет права на запись. Кроме того, вы должны указать порог логгирования в application/config/config.php. Вы можете, к примеру, выводить только сообщения об ошибках, но не два других типа. Если вы установите этот параметр в ноль, логгирование будет выключено.