Класс ActionDispatcher
Этот класс обеспечивает совместимость с фильтрами диспетчера и взаимодействием с контроллерскими слоями.
В долгосрочной перспективе это должен быть просто контроллер-диспетчер, но пока он делает немного больше.
- Cake\Http\ActionDispatcher использует Cake\Event\EventDispatcherTrait
Краткое описание свойств
- Экземпляр фабрики контроллеров.
$factoryprotected - Присоединённые фильтры маршрутизации
$filtersprotected
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- _invoke() protectedВызов действия контроллера и методов оберток.
- Добавить фильтр в этот диспетчер.
- dispatch() publicОтправляет запрос и ответ
- getFilters() publicПолучить подключённые фильтры.
Подробное описание методов
__construct()source public
__construct( Cake\Http\ControllerFactory|null $factory = null , Cake\Event\EventManager|null $eventManager = null , array $filters = [] )
Конструктор
Параметры
-
Cake\Http\ControllerFactory|null$factoryнеобязательно null - Экземпляр фабрики контроллеров.
-
Cake\Event\EventManager|null$eventManagerнеобязательно null - Менеджер событий, если вы хотите его инжектировать.
- array
$filtersнеобязательно [] - Список фильтров для включения.
_invoke()source protected
_invoke( Cake\Controller\Controller $controller )
Вызов действия контроллера и методов оберток.
Параметры
-
Cake\Controller\Controller$controller - Контроллер для вызова.
Возвращает
Cake\Http\ResponseОтвет
Выбрасывает
LogicExceptionЕсли действие контроллера возвращает значение, отличное от ответа.
addFilter()source public deprecated
addFilter( Cake\Event\EventListenerInterface $filter )
Добавить фильтр в этот диспетчер.
Добавленный фильтр будет подключён к менеджеру событий, используемому этим диспетчером.
Устарело
Доступно только для обратной совместимости с DispatchFiltersПараметры
-
Cake\Event\EventListenerInterface$filter Фильтр для подключения. Может быть любым EventListenerInterface. Обычно экземпляр \Cake\Routing\DispatcherFilter.
dispatch()source public
dispatch( Cake\Http\ServerRequest $request , Cake\Http\Response $response )
Отправляет запрос и ответ
Параметры
-
Cake\Http\ServerRequest$request - Запрос для отправки.
-
Cake\Http\Response$response - Ответ для отправки.
Возвращает
Cake\Http\ResponseИзменённый/заменённый ответ.
Выбрасывает
ReflectionExceptionИспользуемые методы из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data = null , object|null $subject = null )
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataнеобязательно null Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- объект|null
$subjectнеобязательно null Объект, к которому относится это событие (по умолчанию $this).
Возвращает
Cake\Event\EventeventManager()source public устарело
eventManager( Cake\Event\EventManager $eventManager = null )
Возвращает экземпляр менеджера Cake\Event\EventManager для данного объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или для создания собственных событий и их запуска по мере необходимости.
Устарело
3.5.0 Используйте getEventManager()/setEventManager() вместо этого.Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - устанавливаемый eventManager
Возвращает
Cake\Event\EventManagergetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера Cake\Event\EventManager для данного объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или для создания собственных событий и их запуска по мере необходимости.
Возвращает
Cake\Event\EventManagersetEventManager()source public
setEventManager( Cake\Event\EventManager $eventManager )
Возвращает экземпляр менеджера Cake\Event\EventManager для данного объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или для создания собственных событий и их запуска по мере необходимости.
Параметры
-
Cake\Event\EventManager$eventManager - устанавливаемый eventManager
Возвращает
$this
Подробное описание свойств
$filterssource
protected Cake\Event\EventListenerInterface[]
Прикреплённые фильтры маршрутизации.
[]
© 2005–present 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/3.6/class-Cake.Http.ActionDispatcher.html