Класс DispatcherFilter
Этот абстрактный класс представляет собой фильтр, который применяется к циклу диспетчера. Он действует как обработчик событий с возможностью изменения запроса или ответа по мере необходимости, прежде чем он будет обработан контроллером или после того, как тело ответа будет уже построено.
- DispatcherFilter реализует CakeEventListener
Прямые подклассы
Пакет: Cake\Routing
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Routing/DispatcherFilter.php
Краткое описание свойств
-
$prioritypublicЗначение по умолчанию для приоритета всех методов в этом фильтреinteger -
$settingspublicНастройки для этого фильтраarray
Краткое описание методов
- __construct() publicКонструктор.
- afterDispatch() public
Метод, вызываемый после того, как контроллер обработает запрос и сгенерирует ответ. В этот момент можно изменить объект ответа, так как он еще не отправлен клиенту.
- beforeDispatch() public
Метод, вызываемый до создания и вызова контроллера для обработки запроса. Если используется приоритет по умолчанию, он будет вызван после того, как маршрутизатор проанализировал URL и установил параметры маршрутизации в объект запроса.
- implementedEvents() public
Возвращает список событий, на которые подписывается этот фильтр. Диспетчер уведомляет о 2 разных событиях
Dispatcher.beforeиDispatcher.after. По умолчанию этот класс подписывается на методыpreDispatchиpostDispatchсоответственно.
Подробное описание методов
__construct()source public
__construct( array $settings array() )
Конструктор.
Параметры
- массив
$settingsнеобязательно массив() - Настройки конфигурации фильтра.
afterDispatch()source public
afterDispatch( CakeEvent $event )
Метод, вызываемый после того, как контроллер обработает запрос и сгенерирует ответ. В этот момент можно изменить объект ответа, так как он еще не отправлен клиенту.
Если возвращается false, событие будет остановлено, и больше никаких слушателей не будут уведомлены. В качестве альтернативы можно вызвать $event->stopPropagation() для достижения того же результата.
Параметры
-
CakeEvent$event объект контейнера, содержащий ключи
requestиresponseв свойстве data.
Возвращаемое значение
mixedboolean для остановки отправки события или null для продолжения
beforeDispatch()source public
beforeDispatch( CakeEvent $event )
Метод, вызываемый до создания и вызова контроллера для обработки запроса. Если используется приоритет по умолчанию, он будет вызван после того, как маршрутизатор проанализировал URL и установил параметры маршрутизации в объект запроса.
Если возвращается экземпляр объекта CakeResponse, он будет обработан в конце цикла события, не вызывая контроллера в результате. Это также приведет к тому, что событие после не будет вызываться в диспетчере.
Если возвращается false, событие будет остановлено, и больше никаких слушателей не будут уведомлены. В качестве альтернативы можно вызвать $event->stopPropagation() для достижения того же результата.
Параметры
-
CakeEvent$event объект контейнера, содержащий ключи
request,responseиadditionalParamsв свойстве data.
Возвращаемое значение
CakeResponse|booleanimplementedEvents()source public
implementedEvents( )
Возвращает список событий, на которые подписывается этот фильтр. Диспетчер уведомляет о 2 разных событиях Dispatcher.before и Dispatcher.after. По умолчанию этот класс подписывается на методы preDispatch и postDispatch соответственно.
Переопределите этот метод, чтобы подписываться только на интересующие вас события.
Возвращаемое значение
массивРеализация
CakeEventListener::implementedEvents() Подробное описание свойств
$prioritysource
public целое число
Значение по умолчанию для приоритета всех методов в этом фильтре
10
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.10/class-DispatcherFilter.html