Spec-Zone.ru › CakePHP 3.2

Класс Dispatcher

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

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

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

  • $_filters protected
    array
    Объекты подключенных фильтров

Унаследованные свойства

  • _eventClass, _eventManager

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

  • _invoke() protected

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

  • addFilter() public
    Добавить фильтр в этот диспетчер.
  • dispatch() public

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

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

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

_invoke()source protected

_invoke( Cake\Controller\Controller $controller )

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

Параметры

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

Возвращает

Cake\Network\Response
Полученный объект response

Выбрасывает

LogicException

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


addFilter()source public

addFilter( Cake\Event\EventListenerInterface $filter )

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

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

Параметры

Cake\Event\EventListenerInterface $filter

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

dispatch()source public

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

Обрабатывает и вызывает данный запрос Request, передавая управление вовлечённому контроллеру. Если контроллер настроен на автоматическую отрисовку (через 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
Когда контроллер отсутствует.

filters()source public

filters( )

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

Возвращает

array

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

dispatchEvent()source public

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

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

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

Параметры

string $name
Имя события.
array|null $data optional null

Любое значение, которое вы хотите передать с этим событием, его могут прочитать слушатели.

object|null $subject optional null

Объект, к которому относится это событие ($this по умолчанию).

Возвращает

Cake\Event\Event

eventManager()source public

eventManager( Cake\Event\EventManager $eventManager null )

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

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

Параметры

Cake\Event\EventManager $eventManager optional null
диспетчер событий для установки

Возвращает

Cake\Event\EventManager

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

$_filterssource

protected массив

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

[]

© 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.2/class-Cake.Routing.Dispatcher.html

Spec-Zone.ru

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