Прочитав недавно на пьяную голову «Обработка ошибок и исключений в PHP», решил применить полученные знания на практике. Честно, ещё 6 часов назад не знал, куда это меня приведёт, но в итоге теперь мои скрипты при ошибка зажигают вот такой симпотный экран:
Если честно, то PHP тут как такового немного. Создаём свой собственный подкласс
Весь необходимый код сосредоточен в одном файле, являющимся частью фреймворка будущего (NB! …в зачаточном состоянии ;-) ). Прежде чем inсlude-ить этот файл в свой проект, нужно выполнить с ним следующие операции:
Если честно, то PHP тут как такового немного. Создаём свой собственный подкласс
Exception
; с помощью set_error_handler
приказываем PHP кидать наше новое исключение всякий раз, когда возникает ошибка или предупреждение; и оборачиваем весь наш код в try { … } catch () { … }
. Короче говоря, всё как в вышеупомянутой статье. Большую часть времени, я потратил на стили форматирования и картинки (которые, к слову, вставляются с помощью url-data; т.е. класс мой получился независимым от внешних ресурсов).«Код-то где, балаболка?»
Весь необходимый код сосредоточен в одном файле, являющимся частью фреймворка будущего (NB! …в зачаточном состоянии ;-) ). Прежде чем inсlude-ить этот файл в свой проект, нужно выполнить с ним следующие операции:
- Избавится от «глушилки» в первой строке;
- Все упоминания
Aero()->get_option(...)
заменить вторым параметром вызываемого метода. (НапримерAero()->get_option('catch_errors', E_ALL, 'error_handler')
превращается просто вE_ALL
.)