Как я уже писал, сейчас мы будем заниматься ошибками. Нам нужно:
Теперь пхп настроен как нам надо. Займемся перехватом ошибок. Обратим внимание на замечательную функцию set_error_handler() - она указывает пхп, кто\что будет заниматься обработкой ошибок вместо стандартного обработчика. На сайте приведён достаточно хороший пример, рассказано и показано, какого вида должна быть функция обратного вызова (callback fucntion). Так что я не буду заниматься здесь пережёвыванием мануала.
Но мы ведь собирались просто логировать ошибки? Для этого можно воспользоваться функцией log() из предыдущего примера, либо по аналогии написать функцию error(), либо (внимание!) провести небольшой рефакторинг функции log() так, чтобы она принимала местоназначение лога.
На сегодня у меня всё.
Успехов.
а) чтобы пользователь ошибок не виделДля этого мы (надеюсь, все внимательно ознакомились с мануалом http://php.net/manual/ru/book.errorfunc.php про перехват ошибок?) сначала настроим пхп в соответствии с требованиями. Воспользуемся функцией ini_set() и страничкой с описанием конфигурации. Примерно так:
б) чтобы владелец ресурса об ошибках был в курсе
error_reporting E_ALL | E_STRICTАх, да! внимательно прочитав описание error_reporting мы видим, что во время выполнения скрипта нас просят пользоваться функцией error_reporting(); воспользуемся.
display_errors "Off"
html_errors "Off"
Теперь пхп настроен как нам надо. Займемся перехватом ошибок. Обратим внимание на замечательную функцию set_error_handler() - она указывает пхп, кто\что будет заниматься обработкой ошибок вместо стандартного обработчика. На сайте приведён достаточно хороший пример, рассказано и показано, какого вида должна быть функция обратного вызова (callback fucntion). Так что я не буду заниматься здесь пережёвыванием мануала.
Но мы ведь собирались просто логировать ошибки? Для этого можно воспользоваться функцией log() из предыдущего примера, либо по аналогии написать функцию error(), либо (внимание!) провести небольшой рефакторинг функции log() так, чтобы она принимала местоназначение лога.
На сегодня у меня всё.
Успехов.