Spec-Zone.ru › CakePHP 2.8

Класс Dispatcher

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

Dispatcher реализует CakeEventListener
Пакет: Cake\Маршрутизация
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Routing/Dispatcher.php

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

  • $_eventManager protected
    CakeEventManager
    Менеджер событий, используемый для обработки фильтров диспетчера

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

  • __construct() public
    Конструктор.
  • _attachFilters() protected

    Присоединяет все обработчики событий для этого экземпляра диспетчера. Загружает фильтры диспетчера из заданных расположений.

  • _getController() protected
    Получить контроллер для использования, либо плагин-контроллер, либо контроллер приложения
  • _invoke() protected

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

  • _loadController() protected
    Загрузить контроллер и вернуть имя класса контроллера
  • dispatch() public

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

  • getEventManager() public

    Возвращает экземпляр CakeEventManager или создаёт его, если он не был создан. Присоединяет стандартные обработчики и фильтры

  • implementedEvents() public
    Возвращает список событий, на которые подписывается этот объект.
  • parseParams() public

    Применяет Маршрутизацию и дополнительные параметры к запросу, который будет обработан. Если маршруты не загружены, они будут загружены, и будет выполнен app/Config/routes.php.

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

__construct()source public

__construct( string $base false )

Конструктор.

Параметры

строка $base необязательный false
Базовая директория приложения. Записывает App.base в Configure.

_attachFilters()source protected

_attachFilters( CakeEventManager $manager )

Присоединяет все обработчики событий для этого экземпляра диспетчера. Загружает фильтры диспетчера из заданных расположений.

Параметры

CakeEventManager $manager
Экземпляр менеджера событий.

Исключения

MissingDispatcherFilterException

_getController()source protected

_getController( CakeRequest $request , CakeResponse $response )

Получить контроллер для использования, либо плагин-контроллер, либо контроллер приложения

Параметры

CakeRequest $request
Объект запроса
CakeResponse $response
Ответ для контроллера.

Возвращает

mixed
имя контроллера, если он не загружен, или объект, если загружен

_invoke()source protected

_invoke( Controller $controller , CakeRequest $request )

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

Параметры

Controller $controller
Контроллер для вызова
CakeRequest $request
Объект запроса для вызова контроллера.

Возвращает

CakeResponse
результирующий объект ответа

_loadController()source protected

_loadController( CakeRequest $request )

Загрузить контроллер и вернуть имя класса контроллера

Параметры

CakeRequest $request
Экземпляр запроса.

Возвращает

string|boolean
Имя класса контроллера

dispatch()source public

dispatch( CakeRequest $request , CakeResponse $response , array $additionalParams array() )

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

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

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

Параметры

CakeRequest $request
Объект запроса для передачи.
CakeResponse $response
Объект ответа для размещения результатов передачи.
массив $additionalParams необязательный массив()
Массив настроек ("bare", "return"), который комбинируется с параметрами GET и POST

Возвращает

строка|null
если $request['return'] задано, возвращает тело ответа, в противном случае null

Исключения

MissingControllerException
Когда контроллер отсутствует.

Вызывает

Dispatcher.beforeDispatch $this, compact('request', 'response', 'additionalParams')
Dispatcher.afterDispatch $this, compact('request', 'response')

getEventManager()source public

getEventManager( )

Возвращает экземпляр CakeEventManager или создаёт его, если он не был создан. Присоединяет стандартные обработчики и фильтры

Возвращает

CakeEventManager

implementedEvents()source public

implementedEvents( )

Возвращает список событий, на которые подписывается этот объект.

Возвращает

массив

Реализация

CakeEventListener::implementedEvents()

parseParams()source public

parseParams( CakeEvent $event )

Применяет Маршрутизацию и дополнительные параметры к запросу, который будет обработан. Если маршруты не загружены, они будут загружены, и будет выполнен app/Config/routes.php.

Параметры

CakeEvent $event
содержащий запрос, ответ и дополнительные параметры

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

$_eventManagersource

protected CakeEventManager

Менеджер событий, используемый для обработки фильтров диспетчера

© 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/2.8/class-Dispatcher.html

Spec-Zone.ru

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