Класс ControllerFactoryFilter
Фильтр диспетчера, который создаёт контроллер для обработки запроса.
Этот фильтр разрешает параметры запроса в экземпляр контроллера и прикрепляет его к объекту события.
- Cake\Routing\DispatcherFilter implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait
-
Cake\Routing\Filter\ControllerFactoryFilter
Подробное описание методов
_getControllersource protected
_getController( Cake\Network\Request $request , Cake\Network\Response $response )
Получает контроллер для использования, либо плагин, либо контроллер приложения.
Параметры
-
Cake\Network\Request$request - Объект запроса
-
Cake\Network\Response$response - Ответ для контроллера.
Возвращает
Cake\Controller\Controller|falseОбъект, если загружен, иначе boolean false.
beforeDispatchsource public
beforeDispatch( Cake\Event\Event $event )
Разрешает параметры запроса в контроллер и прикрепляет контроллер к объекту события.
Параметры
-
Cake\Event\Event$event - Экземпляр события.
Переопределяет
Cake\Routing\DispatcherFilter::beforeDispatch() Методы, унаследованные от Cake\Routing\DispatcherFilter
__constructsource public
__construct( array $config [] )
Конструктор.
Параметры
- массив
$configнеобязательно [] - Настройки фильтра.
Исключения
InvalidArgumentExceptionКогда условия 'when' не вызываемы.
afterDispatchsource public
afterDispatch( Cake\Event\Event $event )
Метод, вызываемый после того, как контроллер обработает запрос и сгенерирует ответ. В этот момент возможно изменить объект ответа, так как он ещё не отправлен клиенту.
Если возвращено значение false, событие будет остановлено, и больше никаких слушателей уведомляться не будут. В качестве альтернативы можно вызвать $event->stopPropagation() для достижения того же результата.
Параметры
-
Cake\Event\Event$event - объект контейнера с ключами
requestиresponseв свойстве data.
handlesource public
handle( Cake\Event\Event $event )
Метод обработчика, который применяет условия и определяет правильный метод для вызова.
Параметры
-
Cake\Event\Event$event - Экземпляр события.
Возвращает
mixedсмешанный тип
implementedEventssource public
implementedEvents( )
Возвращает список событий, за которыми следит этот фильтр. Диспетчер уведомляет о двух разных событиях Dispatcher.before и Dispatcher.after. По умолчанию этот класс прикрепляет метод preDispatch и postDispatch соответственно.
Переопределите этот метод по своему усмотрению, чтобы следить только за интересующими вас событиями.
Возвращает
arrayмассив
Реализация
Cake\Event\EventListenerInterface::implementedEvents() matchessource public
matches( Cake\Event\Event $event )
Проверяет, соответствует ли входящий запрос критериям этого фильтра.
Параметры
-
Cake\Event\Event$event - Событие для проверки.
Возвращает
booleanbool
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDeletesource protected
_configDelete( string $key )
Удаление одного ключа конфигурации
Параметры
- строка
$key - Ключ для удаления.
Исключения
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
_configReadsource protected
_configRead( string|null $key )
Чтение переменной конфигурации
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
mixedсмешанный тип
_configWritesource protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Запись переменной конфигурации
Параметры
- строка|массив
$key - Ключ для записи.
- смешанный тип
$value - Значение для записи.
- boolean|строка
$mergeнеобязательно false - Истина для рекурсивного слияния, 'shallow' для простого слияния, ложь для перезаписи, по умолчанию ложь.
Исключения
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
configsource public
config( string|array|null $key null , mixed|null $value null , boolean $merge true )
Использование
Чтение всей конфигурации:
$this->config();
Чтение определённого значения:
$this->config('key');
Чтение вложенного значения:
$this->config('some.nested.key');
Установка определённого значения:
$this->config('key', $value);
Установка вложенного значения:
$this->config('some.nested.key', $value);
Обновление нескольких параметров конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки, или полный массив конфигураций.
- смешанный тип|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Рекурсивное слияние или перезапись существующей конфигурации, по умолчанию истина.
Возвращает
mixedЗначение конфигурации для чтения, или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
configShallowsource public
configShallow( string|array $key , mixed|null $value null )
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от config() которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка определённого значения:
$this->config('key', $value);
Установка вложенного значения:
$this->config('some.nested.key', $value);
Обновление нескольких параметров конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки, или полный массив конфигураций.
- смешанный тип|null
$valueнеобязательно null - Значение для установки.
Возвращает
mixedСам объект.
Резюме свойств
Свойства, унаследованные от Cake\Routing\DispatcherFilter
$_defaultConfigsource
protected массив
Конфигурация по умолчанию
Эти значения объединяются с предоставленными пользователем настройками при использовании класса. Опции when и for позволяют задавать условия, которые проверяются перед вызовом фильтра.
[
'when' => null,
'for' => null,
'priority' => null,
] Свойства, используемые из Cake\Core\InstanceConfigTrait
$_configInitializedsource
protected boolean
Указывает, была ли конфигурация уже настроена по умолчанию
false
© 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.Filter.ControllerFactoryFilter.html