Класс 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См.:
Cake\Controller\Controller::$componentsСсылка: http://book.cakephp.org/3.0/en/controllers/components.html
Расположение: Controller/Component.php
Подробное описание метода
__constructsource public
__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - ComponentRegistry, который этот компонент может использовать для ленивой загрузки своих компонентов
- массив
$configнеобязательный [] - Массив параметров конфигурации.
__debugInfosource public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращаемое значение
arrayмассив
__getsource public
__get( string $name )
Магический метод для ленивой загрузки $components.
Параметры
- строка
$name - Имя компонента для получения.
Возвращаемое значение
mixedОбъект компонента или null.
implementedEventssource public
implementedEvents( )
Получить обратные вызовы контроллера, в которых заинтересован этот компонент.
Использует соглашения для сопоставления событий контроллера со стандартными именами методов обратного вызова компонента. Определяя один из методов обратного вызова, предполагается, что компонент заинтересован в соответствующем событии.
Переопределите этот метод, если вам нужно добавить обработчики событий, не соответствующие соглашениям. Или если вы хотите, чтобы компоненты прослушивали нестандартные события.
Возвращаемое значение
arrayмассив
Реализация
Cake\Event\EventListenerInterface::implementedEvents() initializesource public
initialize( array $config )
Метод обратного вызова конструктора.
Реализуйте этот метод, чтобы избежать необходимости переопределять конструктор и вызывать родительский класс.
Параметры
- массив
$config - Параметры конфигурации, предоставленные этому компоненту.
Методы, используемые из 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 - True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Исключения
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 - Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию 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\Log\LogTrait
logsource public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
- смешанный
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательный LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательный [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращаемое значение
booleanУспешность записи в журнал.
Резюме свойств
Свойства, используемые из 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.Controller.Component.html