Spec-Zone.ru › CakePHP 4.3

Класс Component

Базовый класс для отдельного компонента. Компоненты предоставляют повторно используемые фрагменты логики контроллера, которые могут быть объединены в контроллер. Компоненты также предоставляют обратные вызовы жизненного цикла запроса для вставки логики в определенные моменты.

Обработчик инициализации

Как и контроллер и таблица, этот класс имеет обработчик initialize(), который вы можете использовать для добавления пользовательской логики «конструктора». Важно помнить, что каждый запрос (и подзапрос) будет создавать только один экземпляр любого данного компонента.

Обратные вызовы жизненного цикла

Компоненты могут предоставлять несколько обратных вызовов, которые запускаются на различных этапах цикла запроса. Доступные обратные вызовы:

  • beforeFilter(EventInterface $event) Вызывается перед методом Controller::beforeFilter() по умолчанию.
  • startup(EventInterface $event) Вызывается после метода Controller::beforeFilter() и перед вызовом действия контроллера.
  • beforeRender(EventInterface $event) Вызывается перед Controller::beforeRender(), и перед загрузкой класса представления.
  • afterFilter(EventInterface $event) Вызывается после завершения действия и отрисовки представления, но перед Controller::afterFilter().
  • beforeRedirect(EventInterface $event $url, Response $response) Вызывается перед перенаправлением. Позволяет изменить URL, на который будет произведено перенаправление, возвращая экземпляр Response с новым URL, установленным с помощью Response::location(). Перенаправление можно предотвратить, остановив распространение события.

Хотя контроллер не является явным аргументом для методов обратных вызовов, он является объектом каждого события и может быть получен с помощью EventInterface::getSubject().

Пространство имен: Cake\Controller
См.: \Cake\Controller\Controller::$components
Ссылка: https://book.cakephp.org/4/en/controllers/components.html

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

  • $_componentMap protected
    array<string, array>

    Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.

  • $_config protected
    array<string, mixed>

    Конфигурация во время выполнения

  • $_configInitialized protected
    bool

    Указывает, была ли конфигурация уже настроена по умолчанию

  • $_defaultConfig protected
    array<string, mixed>

    Конфигурация по умолчанию

  • $_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

    Устанавливает конфигурацию.

END_OF_DOCUMENT_MARKER ```

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

__construct() public

__construct(Cake\Controller\ComponentRegistry $registry, array<string, mixed> $config = [])

Конструктор

Параметры

Cake\Controller\ComponentRegistry $registry

Регистр компонентов, используемый этим компонентом для ленивой загрузки.

array<string, mixed> $config optional

Массив параметров конфигурации.

__debugInfo() public

__debugInfo(): array<string, mixed>

Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

Возвращает

array<string, mixed>

__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(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void

Записывает ключ конфигурации.

Параметры

array<string, mixed>|string $key

Ключ для записи.

mixed $value

Значение для записи.

string|bool $merge optional

Истинное значение для рекурсивного слияния, 'shallow' для простого слияния, ложное для перезаписи, по умолчанию ложное.

Возвращает

void

Выбрасывает

Cake\Core\Exception\CakeException
при попытке перезаписи существующей конфигурации

configShallow() public

configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this

Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), который выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.

Установка конкретного значения:

$this->configShallow('key', $value);

Установка вложенного значения:

$this->configShallow('some.nested.key', $value);

Обновление нескольких параметров конфигурации одновременно:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Параметры

array<string, mixed>|string $key

Ключ для установки или полный массив конфигураций.

mixed|null $value optional

Значение для установки.

Возвращает

$this

getConfig() 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

Значение возврата, если ключ не существует.

Возвращает

mixed

getConfigOrFail() public

getConfigOrFail(string $key): mixed

Возвращает конфигурацию для этого конкретного ключа.

Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.

Параметры

string $key

Ключ для получения.

Возвращает

mixed

Выбрасывает

InvalidArgumentException

getController() public

getController(): Cake\Controller\Controller

Получение контроллера, к которому привязан этот компонент.

Возвращает

Cake\Controller\Controller

implementedEvents() public

implementedEvents(): array<string, mixed>

Получение обратных вызовов контроллера, которыми интересуется этот компонент.

Использует соглашения для сопоставления событий контроллера со стандартными именами методов обратного вызова компонента. При определении одного из методов обратного вызова предполагается, что компонент заинтересован в соответствующем событии.

Переопределите этот метод, если вам нужно добавить обработчики событий, не соответствующие соглашениям. Или если вы хотите, чтобы компоненты прослушивали нестандартные события.

Возвращает

array<string, mixed>

initialize() public

initialize(array<string, mixed> $config): void

Метод обратного вызова конструктора.

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

Параметры

array<string, mixed> $config

Параметры конфигурации, предоставленные этому компоненту.

Возвращает

void

log() public

log(string $message, string|int $level = LogLevel::ERROR, array|string $context = []): bool

Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы см. Log::write().

Параметры

string $message

Сообщение журнала.

string|int $level optional

Уровень ошибки.

array|string $context optional

Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращает

bool

setConfig() public

setConfig(array<string, mixed>|string $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']);

Параметры

array<string, mixed>|string $key

Ключ для установки или полный массив конфигураций.

mixed|null $value optional

Значение для установки.

bool $merge optional

Выполнять ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращает

$this

Выбрасывает

Cake\Core\Exception\CakeException
При попытке установить недопустимый ключ.

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

$_componentMap protected

Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.

Тип

array<string, array>

$_config protected

Конфигурация выполнения

Тип

array<string, mixed>

$_configInitialized protected

Указатель на то, была ли уже настроена конфигурация с параметрами по умолчанию

Тип

bool

$_defaultConfig protected

Конфигурация по умолчанию

Они объединяются с предоставленной пользователем конфигурацией при использовании компонента.

Тип

array<string, mixed>

$_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.3/class-Cake.Controller.Component.html

Spec-Zone.ru

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