Создание собственного фреймворка. Обработка ошибок в PHP. Урок 14

Создание фреймворка

От автора: приветствую вас, друзья. Продолжим создание собственного PHP фреймворка. По итогу мы должны получить вполне функциональное решение, а заодно познакомиться с принципами работы современных PHP фреймворков. В данном уроке мы рассмотрим особенности обработки ошибок в PHP и создадим свой класс, который будет обрабатывать все типы ошибок, в том числе и исключения.

скачать исходники

В видео версии урока вы найдете ответы на такие вопросы:

Зачем необходима обработка ошибок в PHP?

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Зарегистрироваться

Как создать класс для обработки ошибок?

Как обработать непойманные исключения?

Разработка веб-приложения на PHP

Создайте веб-приложение на PHP на примере приема платежей на сайте

Смотреть

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (4)

  1. Андрей

    Интересный урок, вот про обработку фатальных ошибок не знал.

  2. Дмитрий

    Андрей, здравствуйте:)

    Спасибо Вам большое за данные уроки по созданию собственного фреймворка.

    Сегодня изучал данный урок и столкнулся с проблемкой.
    Вот, например, при вызове несуществующей функции test(), показывает ошибку как исключение и $e->getCode() равен 0, что не правильно.
    Я использую php 7.2, т.е. с версии php7 и выше, код работает немного некорректно.

    Подскажите, пожалуйста, что нужно поменять в коде, чтобы работало с 7 версии php.

    • Андрей Кудлай

      Здравствуйте, Дмитрий. В PHP 7 есть некоторые особенности в обработке ошибок. Возможно, в каком-то отдельном уроке затрону эту тему, когда вернусь к данному курсу.

      • Дмитрий

        Спасибо, надеюсь в скором времени будет урок по данной теме.

        Ещё заметил следующее, если допустить сразу 2 ошибки:

        1. Ошибку в переменной $response — написать $responce (c вместо s), передаваемой в функцию displayError.

        2. И ещё при этом вызвать, например, функцию strlen() в index.php;

        Выходит сначала текст ошибки сгенерированный самим php — Notice: Undefined variable: response in W:\domains\test.loc\system\core\ErrorHandler.php on line 48, а затем ниже выводится шаблон dev.php и выводит «… Текст ошибки: strlen() expects exactly 1 parameter, 0 given ….» как и должно быть.

        Я думал, что для вывода первой ошибки, тоже подключится вид dev.php.

Добавить комментарий