Класс Component
Базовый класс для отдельного компонента. Компоненты предоставляют переиспользуемые фрагменты логики контроллера, которые могут быть объединены в контроллер. Компоненты также предоставляют обратные вызовы жизненного цикла запроса для вставки логики в определённые моменты.
Обработчик инициализации
Как и контроллер и таблица, этот класс имеет обработчик initialize(), который вы можете использовать для добавления пользовательской логики «конструктора». Важно помнить, что каждый запрос (и подзапрос) будет создавать только один экземпляр любого заданного компонента.
Обратные вызовы жизненного цикла
Компоненты могут предоставлять несколько обратных вызовов, которые срабатывают на различных этапах цикла запроса. Доступные обратные вызовы:
-
beforeFilter(Event $event)Вызывается перед методом beforeFilter контроллера по умолчанию. -
startup(Event $event)Вызывается после метода beforeFilter контроллера и перед вызовом действия контроллера. -
beforeRender(Event $event)Вызывается перед методом beforeRender контроллера и перед загрузкой класса представления. -
shutdown(Event $event)Вызывается после завершения действия и отрисовки представления, но перед Controller::afterFilter(). -
beforeRedirect(Event $event $url, Response $response)Вызывается перед выполнением перенаправления. Позволяет изменить URL, на который будет выполнено перенаправление, вернув экземпляр Response с новым URL, заданным с помощью Response::location(). Перенаправление можно предотвратить, остановив распространение события.
Хотя контроллер не является явным аргументом для методов обратного вызова, он является объектом каждого события и может быть получен с помощью Event::subject().
- Cake\Controller\Component реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait , Cake\Log\LogTrait
Непосредственные подклассы
- Cake\Controller\Component\AuthComponent
- Cake\Controller\Component\CookieComponent
- Cake\Controller\Component\CsrfComponent
- Cake\Controller\Component\FlashComponent
- Cake\Controller\Component\PaginatorComponent
- Cake\Controller\Component\RequestHandlerComponent
- Cake\Controller\Component\SecurityComponent
Ссылка: http://book.cakephp.org/3.0/ru/controllers/components.html
См.: \Cake\Controller\Controller::$components
Расположение: Controller/Component.php
Краткое описание свойств
-
$_componentMapprotectedТаблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.array -
$_defaultConfigprotectedКонфигурация по умолчаниюarray - Класс реестра компонентов, используемый для ленивой загрузки компонентов.
$_registryprotected -
$componentspublicДругие компоненты, используемые этим компонентом.array - Объект запроса
$requestpublic - Объект ответа
$responsepublic
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- __debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
- __get() publicМагический метод для ленивой загрузки $components.
- implementedEvents() publicПолучение обратных вызовов контроллера, в которых заинтересован этот компонент.
- initialize() publicМетод обработчика инициализации.
Подробное описание методов
__construct()source public
__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - КомпонентRegistry, который этот компонент может использовать для ленивой загрузки своих компонентов
- массив
$configнеобязательно [] - Массив параметров конфигурации.
__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
массив__get()source public
__get( string $name )
Магический метод для ленивой загрузки $components.
Параметры
- строка
$name - Имя компонента для получения.
Возвращает
смешанноеОбъект Component или null.
implementedEvents()source public
implementedEvents( )
Получение обратных вызовов контроллера, в которых заинтересован этот компонент.
Использует соглашения для сопоставления событий контроллера со стандартными именами методов обратного вызова компонента. Определяя один из методов обратного вызова, предполагается, что компонент заинтересован в соответствующем событии.
Переопределите этот метод, если вам нужно добавить обработчики событий, не соответствующих соглашениям. Или если вы хотите, чтобы компоненты прослушивали нестандартные события.
Возвращает
массивРеализация
Cake\Event\EventListenerInterface::implementedEvents() initialize()source public
initialize( array $config )
Метод обработчика инициализации.
Реализуйте этот метод, чтобы избежать необходимости переопределения конструктора и вызова родительского класса.
Параметры
- массив
$config - Настройки конфигурации, предоставленные этому компоненту.
Используемые методы из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаление одного ключа конфигурации
Параметры
- строка
$key - Ключ для удаления.
Исключения
Cake\Core\Exception\Exceptionесли попытка перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Чтение переменной конфигурации
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
смешанное_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Запись переменной конфигурации
Параметры
- строка|массив
$key - Ключ для записи.
- смешанное
$value - Значение для записи.
- логическое|строка
$mergeнеобязательно false Истина для рекурсивного объединения, «поверхностное» для простого объединения, ложь для перезаписи, по умолчанию ложь.
Исключения
Cake\Core\Exception\Exceptionесли попытка перезаписи существующей конфигурации
config()source 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']);
Параметры
- string|array|null
$keyнеобязательно null - Ключ для получения/установки, или полный массив настроек.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Производить рекурсивное объединение или перезапись существующих настроек, по умолчанию true.
Возвращаемое значение
mixedЗначение конфига для чтения, или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
configShallow()source 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']);
Параметры
- string|array
$key - Ключ для установки, или полный массив настроек.
- mixed|null
$valueнеобязательно null - Значение для установки.
Возвращаемое значение
$this Сам объект.
Методы, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы, обратитесь к Log::write().
Параметры
- mixed
$msg - Сообщение журнала.
- integer|string
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- string|array
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращаемое значение
booleanРезультат записи в журнал.
Подробное описание свойств
$_componentMapsource
protected array
Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.
[]
$_defaultConfigsource
protected array
Конфигурация по умолчанию
Эти настройки объединяются с настройками, предоставленными пользователем, когда компонент используется.
[]
$_registrysource
protected Cake\Controller\ComponentRegistry
Класс реестра компонентов, используемый для ленивой загрузки компонентов.
© 2005–2017 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.3/class-Cake.Controller.Component.html