Zend Framework :: игнорирование предварительной отправки для конкретного действия - PullRequest
2 голосов
/ 18 марта 2010

Я новичок в Zend Framework, я хочу знать, как мы можем ограничить вызов функции predispatch () в моем контроллере для любого конкретного действия.

-DevD

1 Ответ

4 голосов
/ 18 марта 2010

В вашем контроллере попробуйте

public function preDispatch()
{
    if($this->getRequest()->getActionName() === 'actionName') {
        return; // ignoring preDispatch
    }
    // run preDispatch code when not actionName
}

Метод preDispatch вызывается до вызова действий контроллера в жизненном цикле запроса MVC. Таким образом, вы не можете отключить преддиспетчер от отдельного действия.

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

См. http://devzone.zend.com/article/11978-Zend-Framework-MVC-Request-Lifecycle

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