Spec-Zone.ru › CakePHP 3.8

Класс 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::getSubject().

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
Ссылка: https://book.cakephp.org/3.0/ru/controllers/components.html
См.: \Cake\Controller\Controller::$components
Расположение: Controller/Component.php

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

  • $_componentMap protected
    array
    Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.
  • $_defaultConfig protected
    array
    Конфигурация по умолчанию
  • $_registry protected
    Cake\Controller\ComponentRegistry
    Класс реестра компонентов, используемый для ленивой загрузки компонентов.
  • $components public
    array
    Другие компоненты, используемые этим компонентом.
  • $request public
    Cake\Http\ServerRequest
    Объект запроса
  • $response public
    Cake\Http\Response
    Объект ответа

Унаследованные свойства

  • _config, _configInitialized

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

  • __construct() public
    Конструктор
  • __debugInfo() public

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

  • __get() public
    Магический метод для ленивой загрузки $components.
  • getController() public
    Получить контроллер, к которому привязан этот компонент.
  • implementedEvents() public
    Получить обратные вызовы контроллера, к которым заинтересован этот компонент.
  • initialize() public
    Метод обратного вызова инициализации.

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

__construct()source public

__construct( Cake\Controller\ComponentRegistry $registry , array $config = [] )

Конструктор

Параметры

Cake\Controller\ComponentRegistry $registry
Компонентный реестр, который может использовать этот компонент для ленивой загрузки своих компонентов
массив $config необязательно []
Массив параметров конфигурации.

__debugInfo()source public

__debugInfo( )

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

Возвращает

массив

__get()source public

__get( string $name )

Магический метод для ленивой загрузки $components.

Параметры

строка $name
Имя компонента, который нужно получить.

Возвращает

смешанный
Объект компонента или null.

getController()source public

getController( )

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

Возвращает

Cake\Controller\Controller
Привязанный контроллер.

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 deprecated

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']);

Устаревшее

3.4.0 Используйте setConfig()/getConfig() вместо этого.

Параметры

строка|массив|null $key необязательно null
Ключ для получения/установки или весь массив конфигураций.
смешанное|null $value необязательно null
Значение для установки.
boolean $merge необязательно true
Является ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращаемое значение

смешанное
Значение конфигурации для чтения, или сам объект при операциях записи.

Исключения

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

configShallow()source public

configShallow( string|array $key , mixed|null $value = null )

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

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

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

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

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

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

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

Параметры

строка|массив $key
Ключ для установки или весь массив конфигураций.
смешанное|null $value необязательно null
Значение для установки.

Возвращаемое значение


$this

getConfig()source public

getConfig( string|null $key = null , mixed $default = null )

Возвращает конфигурацию.

Использование

Чтение всей конфигурации:

$this->getConfig();

Чтение определенного значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

строка|null $key необязательно null
Ключ для получения или null для всей конфигурации.
смешанное $default необязательно null
Значение, возвращаемое, когда ключ не существует.

Возвращаемое значение

смешанное
Данные конфигурации по указанному ключу или null, если ключ не существует.

setConfig()source public

setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )

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

Использование

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

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

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

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

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

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

Параметры

строка|массив $key
Ключ для установки или весь массив конфигураций.
смешанное|null $value необязательно null
Значение для установки.
boolean $merge необязательно true
Является ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращаемое значение


$this

Исключения

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

Методы, используемые из Cake\Log\LogTrait

log()source public

log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )

Метод-обёртка для записи сообщения в журнал. Подробнее о записи в журналы см. Log::write().

Параметры

смешанное $msg
Сообщение журнала.
целое|строка $level необязательно LogLevel::ERROR
Уровень ошибки.
строка|массив $context необязательно []
Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращаемое значение

boolean
Успех записи в журнал.

Подробности свойств

$_componentMapsource

protected массив

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

[]

$_defaultConfigsource

protected массив

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

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

[]

$_registrysource

protected Cake\Controller\ComponentRegistry

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

$componentssource

public массив

Другие компоненты, используемые этим компонентом.

[]

$requestsource

public Cake\Http\ServerRequest

Объект запроса

Устаревшее

3.4.0 Хранение ссылок на запрос устарело. Используйте Component::getController() или обратный вызов $event->getSubject() для доступа к контроллеру и запросу вместо этого.


$responsesource

public Cake\Http\Response

Объект ответа

Устаревшее

3.4.0 Хранение ссылок на ответ устарело. Используйте Component::getController() или обратный вызов $event->getSubject() для доступа к контроллеру и ответу вместо этого.


© 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/3.8/class-Cake.Controller.Component.html

Spec-Zone.ru

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