Класс Component
Базовый класс для отдельного компонента. Компоненты предоставляют многократно используемые фрагменты логики контроллера, которые могут быть объединены в контроллер. Компоненты также предоставляют обратные вызовы жизненного цикла запроса для вставки логики в определенные моменты.
Обработчик инициализации
Как и контроллер и таблица, этот класс имеет обработчик initialize(), который вы можете использовать для добавления пользовательской логики «конструктора». Важно помнить, что каждый запрос (и подзапрос) создаст только один экземпляр любого данного компонента.
Обратные вызовы жизненного цикла
Компоненты могут предоставлять несколько обратных вызовов, которые вызываются на различных этапах цикла запроса. Доступные обратные вызовы:
-
beforeFilter(EventInterface $event)Вызывается перед методом beforeFilter контроллера по умолчанию. -
startup(EventInterface $event)Вызывается после метода beforeFilter контроллера и перед вызовом действия контроллера. -
beforeRender(EventInterface $event)Вызывается перед методом Controller beforeRender и перед загрузкой класса представления. -
shutdown(EventInterface $event)Вызывается после завершения действия и рендеринга представления, но перед Controller::afterFilter(). -
beforeRedirect(EventInterface $event $url, Response $response)Вызывается перед выполнением перенаправления. Позволяет изменить URL, к которому будет произведено перенаправление, возвращая экземпляр Response с новым URL, заданным с помощью Response::location(). Перенаправление можно предотвратить, остановив распространение события.
Хотя контроллер не является явным аргументом для методов обратных вызовов, он является объектом каждого события и может быть получен с помощью EventInterface::getSubject().
См.: \Cake\Controller\Controller::$components
Ссылка: https://book.cakephp.org/4/en/controllers/components.html
Краткое описание свойств
- $_componentMap protected
arrayТаблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.
- $_config protected
arrayКонфигурация выполнения
- $_configInitialized protected
boolУстановлено ли, что свойство config уже настроено со значениями по умолчанию
- $_defaultConfig protected
arrayКонфигурация по умолчанию
- $_registry protected
Cake\Controller\ComponentRegistryКласс реестра компонентов, используемый для ленивой загрузки компонентов.
- $components protected
arrayДругие компоненты, используемые этим компонентом.
Краткое описание методов
-
__construct() public
Конструктор
-
__debugInfo() public
Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.
-
__get() public
Магический метод для ленивой загрузки $components.
-
_configDelete() protected
Удаляет единственный ключ конфигурации.
-
_configRead() protected
Читает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от
config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для этого конкретного ключа.
-
getController() public
Получить контроллер, к которому привязан этот компонент.
-
implementedEvents() public
Получить обратные вызовы контроллера, которыми интересуется этот компонент.
-
initialize() public
Метод обратного вызова инициализации.
-
log() public
Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы см. Log::write().
-
setConfig() public
Устанавливает конфигурацию.
Подробное описание методов
__construct() public
__construct(Cake\Controller\ComponentRegistry $registry, array $config = [])
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry Регистр компонентов, используемый этим компонентом для ленивой загрузки.
-
array$config optional Массив параметров конфигурации.
__debugInfo() public
__debugInfo(): array
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array__get() public
__get(string $name): Cake\Controller\Component|null
Магический метод для ленивой загрузки $components.
Параметры
-
string$name Имя компонента для получения.
Возвращает
Cake\Controller\Component|null_configDelete() protected
_configDelete(string $key): void
Удаляет единственный ключ конфигурации.
Параметры
-
string$key Ключ для удаления.
Возвращает
voidВыбрасывает
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
_configRead() protected
_configRead(string|null $key): mixed
Считывает ключ конфигурации.
Параметры
-
string|null$key Ключ для чтения.
Возвращает
mixed_configWrite() protected
_configWrite(string|array $key, mixed $value, bool|string $merge = false): void
Записывает ключ конфигурации.
Параметры
-
string|array$key Ключ для записи.
-
mixed$value Значение для записи.
-
bool|string$merge optional Истинное значение для рекурсивного слияния, 'shallow' для простого слияния, ложное для перезаписи, по умолчанию ложное.
Возвращает
voidВыбрасывает
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
configShallow() public
configShallow(string|array $key, mixed|null $value = null): $this
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), который выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка конкретного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
-
string|array$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
Возвращает
$thisgetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
-
string|null$key optional Ключ для получения или null для всей конфигурации.
-
mixed$default optional Значение возврата, если ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для этого конкретного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedВыбрасывает
InvalidArgumentExceptiongetController() public
getController(): Cake\Controller\Controller
Получение контроллера, к которому привязан этот компонент.
Возвращает
Cake\Controller\ControllerimplementedEvents() public
implementedEvents(): array
Получение обратных вызовов контроллера, которыми интересуется этот компонент.
Использует соглашения для сопоставления событий контроллера со стандартными именами методов обратного вызова компонента. При определении одного из методов обратного вызова предполагается, что компонент заинтересован в соответствующем событии.
Переопределите этот метод, если вам нужно добавить обработчики событий, не соответствующие соглашениям. Или если вы хотите, чтобы компоненты прослушивали нестандартные события.
Возвращает
arrayinitialize() public
initialize(array $config): void
Метод обратного вызова конструктора.
Реализуйте этот метод, чтобы не нужно было переопределять конструктор и вызывать родительский.
Параметры
-
array$config Параметры конфигурации, предоставленные этому компоненту.
Возвращает
voidlog() public
log(string $message, int|string $level = LogLevel::ERROR, string|array $context = []): bool
Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы см. Log::write().
Параметры
-
string$message Сообщение журнала.
-
int|string$level optional Уровень ошибки.
-
string|array$context optional Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
boolsetConfig() public
setConfig(string|array $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Использование
Установка определенного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
-
string|array$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
-
bool$merge optional Выполнять ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращает
$thisВыбрасывает
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
Подробное описание свойств
$_componentMap protected
Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.
Тип
array$_config protected
Конфигурация выполнения
Тип
array$_configInitialized protected
Указатель на то, была ли уже настроена конфигурация с параметрами по умолчанию
Тип
bool$_defaultConfig protected
Конфигурация по умолчанию
Они объединяются с предоставленной пользователем конфигурацией при использовании компонента.
Тип
array$_registry protected
Класс реестра компонентов, используемый для ленивой загрузки компонентов.
Тип
Cake\Controller\ComponentRegistry$components protected
Другие компоненты, используемые этим компонентом.
Тип
array
© 2005–present 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/4.2/class-Cake.Controller.Component.html