![]() |
|
![]() |
||||||
![]() |
CodeIgniter предоставляет неплохие возможности по обработке ошибок, но мне они показались недостаточными по следующим причинам:
Будем это исправлять =) Обработка исключений (см. ниже вариант без правки файлов ядра)Указываем обработчик исключений в файле /system/codeigniter/CodeIgniter.php рядом со строчкой теперь при возникновении исключения будет вызываться метод _exception_handler2 из файла /system/codeigniter/Common.php.А вот собственно и сам метод: Уведомление по почте и дополнительная информация по ошибкамДля того чтобы админстратор получал уведомление о ошибках на сайте на почтовый ящик, необходимо в файле /system/application/config/config.php указать почтовый адрес администратора: Если вы не хотите чтобы сообщения отсылались - не указывайте этот параметр или оставьте его пустым.Расширяем базовый класс Exceptions - в директории /system/application/libraries/ создаем файл MY_Exceptions.php со следующим содержимым: Не забывайте. что для включения механизма ведения логов необходимо в файле /system/application/config/config.php указать у параметра log_threshold значением '1'. Вы можете скачать исходники (Файлы CodeIgniter.php и Common.php от CodeIgniter 1.7.2) Код довольно простой - думаю что все ясно по исходникам. Если все таки вопросы возникнут - с удовольствием отвечу в комментариях. UPDATE: Добавление обработчика исключений с помощью хуковЗдесь мне посоветовали использовать хуки вместо того чтобы править файлы ядра для вызова кода установки обработчика исключений и самого обработчика - я так и поступил.Для начала надо включить механизм куков, для этого в файле /system/application/config/config.php параметр enable_hooks устанавливаем в TRUE: Затем устанавливаем сам хук в файле /system/application/config/hooks.php пишем: Данный код означает что при старте системы будет вызыван метод addExceptionHandler из файла /system/application/hooks/exception_hook.php. Вот содержимое этого файла: В итоге файлы ядра фреймворка остаются нетронутыми. Скачать новые исходники можно здесь. Павел
Павел
04.11.2009
|
Меню
Подписка на RSS:
Поиск
Облако тегов
.net
add
application
array
asp
bash
browser
center
charset
check
class
clean
color
convert
count
create
css
curl
cursor
database
date
delete
dir
directory
disable
dom
download
editor
element
email
encode
equivalent
event
exists
expression
extension
file
find
form
format
function
generator
get
header
height
html
http
ie
image
ip
is
javascript
jquery
key
line
link
list
load
mail
math
mouse
mysql
name
number
object
page
perl
php
position
query
random
regexp
regular
scriplet
secuirity
select
send
seo
shell
size
sort
sql
string
style
system
text
textarea
time
unix
url
utf8
validate
variable
vb
visual basic
width
window
wisiwyg
xml
xslt
|
![]() |
![]() |
![]() |
||
![]() |
![]() |