Отлавливаем исключения в плагине

Если в вашем Zend Framework приложении есть плагин, который выбрасывает исключение, то это приведёт к тому, что пользователю скорее всего отобразится две страницы: та, которая не загрузилась до конца и страница с ошибкой. Как это исправить вы узнаете в данном уроке.

Процесс отлова исключений в плагине:

  • Используйте метод preDispatch() как главный контейнер;
  • Отловите исключение и сразу же перенаправьте пользователя на контроллер error;
  • Создайте объект, который будет взаимодействовать с исключением для того, чтобы действие error сработало успешно;

Вот код:

<?php

class Application_Plugin_Foo extends Zend_Controller_Plugin_Abstract
{
    public function preDispatch(Zend_Controller_Request_Abstract $request)
    { 
        try {

            // делать что-то, что выбросит исключение

        } catch (Exception $e) {
            // Указать куда перенаправиться
            $request->setModuleName('default');
            $request->setControllerName('error');
            $request->setActionName('error');

            // Настроим отлов исключения
            $error = new Zend_Controller_Plugin_ErrorHandler();
            $error->type = Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER;
            $error->request = clone($request);
            $error->exception = $e;
            $request->setParam('error_handler', $error);
        }
    }

}

Вот и всё.


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/8sXwxqIIgUo/lessons.php

Читать комменты и комментировать

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



Защитный код
Обновить

Отлавливаем исключения в плагине | | 2012-06-19 12:07:28 | | Статьи Web-мастеру | | Если в вашем Zend Framework приложении есть плагин, который выбрасывает исключение, то это приведёт к тому, что пользователю скорее всего отобразится две страницы: та, которая не загрузилась до конца | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: