какой плагин выполнить сначала на Zend Framework? - PullRequest
1 голос
/ 30 марта 2010

я зарегистрировал 2 плагина в моем проекте на Zend Framework первый в application.ini это для изменения макета resources.frontController.plugins.LayoutSet = "App_Plugins_LayoutSet" и второй в зарегестрированном в начальной загрузке

 $fc= Zend_Controller_Front::getInstance();
          $fc->registerPlugin(new App_Plugins_AccessCheck($this->_acl));

2 плагин работает нормально, я хочу знать, какой плагин выполняется сначала, мы можем изменить априорное выполнение для этих плагинов?

Ответы [ 2 ]

7 голосов
/ 30 марта 2010

Плагины запускаются в том же порядке, в котором они зарегистрированы. Вы можете изменить это поведение, передав «индекс стека» при регистрации плагинов.

ОО путь:

$front->registerPlugin(new FooPlugin(), 1);   // will trigger early
$front->registerPlugin(new BarPlugin(), 100); // will trigger late

путь application.ini:

resources.frontController.plugins.foo.class = "FooPlugin"
resources.frontController.plugins.foo.stackIndex = 1      // will trigger early
resources.frontController.plugins.bar.class = "BarPlugin"
resources.frontController.plugins.bar.stackIndex = 100    // will trigger late

Источник: Плагины Zend Controller в ZF

1 голос
/ 31 марта 2010

Приведенный выше ответ верен только частично. Да, плагины запускаются в том же порядке, в котором они зарегистрированы, но также имеет значение, какой метод событий использует плагин. Например, preDispatch () будет запущен перед postDispatch () и т. Д.

См. http://framework.zend.com/manual/en/zend.controller.plugins.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...