Spec-Zone.ru › CakePHP 3.3

Класс 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
Ссылка: http://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\Network\Request
    Объект запроса
  • $response public
    Cake\Network\Response
    Объект ответа

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

  • _config, _configInitialized

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

  • __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
если попытка перезаписи существующей конфигурации
END_OF_DOCUMENT_MARKER

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

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

$componentssource

public array

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

[]

$requestsource

public Cake\Network\Request

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

$responsesource

public Cake\Network\Response

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

© 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

Spec-Zone.ru

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