Обработка ошибок
- Автор mityok on июля 11th, 2008
CodeIgniter позволяет вам встроить в свои приложения учёт и протоколирование ошибок при помощи функций, описанных далее на этой странице.
Примечание: По умолчанию CodeIgniter отображает все PHP-ошибки. Возможно вы захотите изменить данное поведение после завершения этапа разработки. Функцию error_reporting() можно найти в начале исходного кода вашего главного файла index.php. Отключение отображения ошибок НЕ препятствует протоколированию ошибок в файл.
В отличие от большинства систем, в CodeIgniter функции обработки ошибок являются простыми процедурами, доступными глобально в рамках всего приложения. Такой подход позволяет вызывать функции обработки ошибок не обращая внимания на области видимости классов или методов.
Список функций, позволяющих обрабатывать ошибки:
show_error('message')
Эта функция выведет сообщение об ошибке используя шаблон из файла
application/errors/error_general.php
show_404('page')
Данная функция выведет сообщение об ошибке 404 используя шаблон из файла
application/errors/error_404.php
Эта функция предполагает, что переданный параметр является путем к странице, которая не найдена. Обратите внимание на то, что CodeIgniter самостоятельно отображает ошибку 404, если не обнаружен класс или метод контроллера.
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.');
Существуют три типа сообщений:
1. Сообщения об ошибках. Это собственно ошибки PHP или пользовательские сообщения об ошибках.
2. Отладочные сообщения. Эти сообщения помогают при отладке приложения. К примеру, при инициализации класса вы можете отметить сообщение об этом событии в качестве отладочной информации.
3. Информационные сообщения. Эти сообщения имеют низший приоритет, просто предоставляют информацию о каком-либо процессе (событии). CodeIgniter исходно не генерирует каких либо информационных сообщений, но вы можете использовать их в своём приложении.
Примечание: Для того, что файлы протокола действительно велись, необходимо установить права на запись на каталог "logs". Кроме того, вы можете установить уровень протоколирования. Вы можете, к примеру, указать чтобы протоколировались только сообщения об ошибках, а остальные типы сообщений игнорировались. Если вы установите нулевой уровень, то файлы протокола вестись не будут.

Отправить комментарий