Spec-Zone.ru › CakePHP 3.1

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

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

__constructsource public

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

Конструктор

Параметры

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

__debugInfosource public

__debugInfo( )

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

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

array
массив

__getsource public

__get( string $name )

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

Параметры

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

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

mixed
Объект компонента или null.

implementedEventssource public

implementedEvents( )

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

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

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

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

array
массив

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

initializesource public

initialize( array $config )

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

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

Параметры

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

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

_configDeletesource protected

_configDelete( string $key )

Удалить один ключ конфигурации

Параметры

строка $key
Ключ для удаления.

Исключения

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

_configReadsource protected

_configRead( string|null $key )

Чтение переменной конфигурации

Параметры

строка|null $key
Ключ для чтения.

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

mixed
смешанный

_configWritesource protected

_configWrite( string|array $key , mixed $value , boolean|string $merge false )

Запись переменной конфигурации

Параметры

строка|массив $key
Ключ для записи.
смешанный $value
Значение для записи.
boolean|строка $merge необязательный false
True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.

Исключения

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

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

Параметры

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

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

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

Исключения

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

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

Параметры

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

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

mixed
Сам объект.

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

logsource public

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

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

Параметры

смешанный $msg
Сообщение журнала.
целое число|строка $level необязательный LogLevel::ERROR
Уровень ошибки.
строка|массив $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

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

Свойства, используемые из Cake\Core\InstanceConfigTrait

$_configsource

protected array

Настройки выполнения

[]

$_configInitializedsource

protected boolean

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

false

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

Spec-Zone.ru

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