Spec-Zone.ru › CakePHP 3.2

Класс Component

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

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

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

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

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

  • beforeFilter(Event $event) Вызывается перед методом beforeFilter контроллера по умолчанию.
  • startup(Event $event) Вызывается после метода beforeFilter контроллера и перед вызовом действия контроллера.
  • beforeRender(Event $event) Вызывается перед методом Controller::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
Компонентный реестр, который этот компонент может использовать для ленивой загрузки своих компонентов
массив $config необязательно []
Массив параметров конфигурации.

__debugInfo()source public

__debugInfo( )

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

Возвращает

массив

__get()source public

__get( string $name )

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

Параметры

строка $name
Имя компонента для получения.

Возвращает

смешанный
Объект компонента или 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

True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию 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–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.2/class-Cake.Controller.Component.html

Spec-Zone.ru

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