Spec-Zone.ru › CakePHP 3.1

Класс Dispatcher

Dispatcher преобразует запросы в действия контроллера. Он использует переданный запрос для поиска и загрузки правильного контроллера. Если контроллер найден, то запрашиваемое действие вызывается на контроллере.

Cake\Routing\Dispatcher использует Cake\Event\EventDispatcherTrait
Пространство имён: Cake\Routing
Расположение Routing/Dispatcher.php

Подробное описание методов

_invokesource protected

_invoke( Cake\Controller\Controller $controller )

Инициализирует компоненты и модели, которые будет использовать контроллер. Запускает действие контроллера и вызывает отрисовку, если Controller::$autoRender имеет значение true. Если действие контроллера возвращает объект ответа, то возвращается он, иначе возвращается свойство $response контроллера.

Параметры

Cake\Controller\Controller $controller
Контроллер для вызова

Возвращаемое значение

Cake\Network\Response
Возвращаемый объект ответа

Исключения

LogicException
Если данные, возвращённые действием контроллера, не являются экземпляром Response

addFiltersource public

addFilter( Cake\Event\EventListenerInterface $filter )

Добавляет фильтр к диспетчеру.

Добавленный фильтр будет прикреплён к диспетчеру событий, используемому этим диспетчером.

Параметры

Cake\Event\EventListenerInterface $filter
Фильтр для подключения. Может быть любым EventListenerInterface. Обычно экземпляр \Cake\Routing\DispatcherFilter.

dispatchsource public

dispatch( Cake\Network\Request $request , Cake\Network\Response $response )

Обрабатывает и вызывает заданный запрос, передавая управление вовлеченному контроллеру. Если контроллер настроен на автоматическую отрисовку через Controller::$autoRender, то Dispatcher отрисует представление.

Действия в CakePHP могут быть любыми открытыми методами контроллера, которые не объявлены в Controller. Если вы хотите, чтобы методы контроллера были открытыми и недоступными по URL, то префикс их _. Например public function _loadPosts() { } не будет доступен через URL. Закрытые и защищенные методы также не доступны по URL.

Если контроллер с заданным именем не найден, invoke() выбросит исключение. Если контроллер найден, а действие не найдено, будет выброшено исключение.

Параметры

Cake\Network\Request $request
Объект запроса для обработки.
Cake\Network\Response $response
Объект ответа, куда будут помещены результаты обработки.

Возвращаемое значение

string|null
Если $request['return'] установлен, возвращается тело ответа, иначе null

Исключения

Cake\Routing\Exception\MissingControllerException
При отсутствии контроллера.

filterssource public

filters( )

Получить список подключенных фильтров.

Возвращаемое значение

array
массив

Методы, используемые из Cake\Event\EventDispatcherTrait

dispatchEventsource public

dispatchEvent( string $name , array|null $data null , object|null $subject null )

Обёртка для создания и обработки событий.

Возвращает событие, которое было обработано.

Параметры

строка $name
Имя события.
массив|null $data необязательно null
Любое значение, которое вы хотите передать вместе с этим событием, чтобы слушатели могли его прочитать.
объект|null $subject необязательно null
Объект, к которому относится это событие ($this по умолчанию).

Возвращаемое значение

Cake\Event\Event
\Cake\Event\Event

eventManagersource public

eventManager( Cake\Event\EventManager $eventManager null )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать свои собственные события и вызывать их по желанию.

Параметры

Cake\Event\EventManager $eventManager необязательно null
устанавливаемый eventManager

Возвращаемое значение

Cake\Event\EventManager
\Cake\Event\EventManager

Краткое описание свойств

$_filterssource

protected массив

Подключенные объекты фильтров

[]

Свойства, используемые из Cake\Event\EventDispatcherTrait

$_eventClasssource

protected строка

Имя класса по умолчанию для новых объектов событий.

'\Cake\Event\Event'

$_eventManagersource

protected Cake\Event\EventManager

Экземпляр Cake\Event\EventManager, используемый этим объектом для обработки внутренних событий.

null

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Routing.Dispatcher.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API