Spec-Zone.ru › CakePHP 3.1

Класс ComponentRegistry

ComponentRegistry — это реестр загруженных компонентов

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

Cake\Core\ObjectRegistry
Extended by Cake\Controller\ComponentRegistry реализует Cake\Event\EventDispatcherInterface использует Cake\Event\EventDispatcherTrait
Пространство имён: Cake\Controller
Расположено в Controller/ComponentRegistry.php

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

__constructsource public

__construct( Cake\Controller\Controller $controller null )

Конструктор.

Параметры

Cake\Controller\Controller $controller необязательный null
Экземпляр контроллера.

_createsource protected

_create( string $class , string $alias , array $config )

Создать экземпляр компонента.

Часть шаблона метода для Cake\Core\ObjectRegistry::load() Включённые компоненты будут зарегистрированы в диспетчере событий.

Параметры

string $class
Имя класса для создания.
string $alias
Псевдоним компонента.
array $config
Массив конфигурации для компонента.

Возвращает

Cake\Controller\Component
Класс созданного компонента.

_resolveClassNamesource protected

_resolveClassName( string $class )

Разрешить имя класса компонента.

Часть шаблона метода для Cake\Core\ObjectRegistry::load()

Параметры

string $class
Частичное имя класса для разрешения.

Возвращает

string|false
Либо правильное имя класса, либо false.

_throwMissingClassErrorsource protected

_throwMissingClassError( string $class , string $plugin )

Выбрасывает исключение, когда компонент отсутствует.

Часть шаблона метода для Cake\Core\ObjectRegistry::load()

Параметры

string $class
Отсутствующий класс.
string $plugin
Плагин, в котором отсутствует компонент.

Выбрасывает

Cake\Controller\Exception\MissingComponentException
\Cake\Controller\Exception\MissingComponentException

getControllersource public

getController( )

Получить контроллер, связанный с коллекцией.

Возвращает

Cake\Controller\Controller
Экземпляр контроллера

setControllersource public

setController( Cake\Controller\Controller $controller )

Установить контроллер, связанный с коллекцией.

Параметры

Cake\Controller\Controller $controller
Экземпляр контроллера.

Методы, унаследованные от Cake\Core\ObjectRegistry

__debugInfosource public

__debugInfo( )

Свойства объекта, удобные для отладки.

Возвращает

array
массив

__getsource public

__get( string $name )

Обеспечить публичный доступ для чтения к загруженным объектам

Параметры

string $name
Имя свойства для чтения

Возвращает

mixed
смешанный тип

__issetsource public

__isset( string $name )

Обеспечить доступ isset к _loaded

Параметры

string $name
Имя проверяемого объекта.

Возвращает

boolean
bool

_checkDuplicatesource protected

_checkDuplicate( string $name , array $config )

Проверить на дублирование загрузки объекта.

Если загружается дубликат с другой конфигурацией, это плохо, и будет вызвано исключение.

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

Параметры

string $name
Имя псевдонима в реестре.
array $config
Данные конфигурации для нового экземпляра.

Выбрасывает

RuntimeException
Когда дубликат найден.

getsource public

get( string $name )

Получить загруженный экземпляр объекта.

Параметры

string $name
Имя объекта.

Возвращает

object|null
Экземпляр объекта, если он загружен, в противном случае null.

hassource public

has( string $name )

Проверить, загружен ли заданный объект.

Параметры

string $name
Имя объекта для проверки.

Возвращает

boolean
True, если объект загружен, иначе false.

loadsource public

load( string $objectName , array $config [] )

Загружает/создаёт экземпляр объекта.

Вернёт экземпляр в реестре, если он уже существует. Если подкласс предоставляет поддержку событий, вы можете использовать $config['enabled'] = false для исключения созданных объектов из регистрации для событий.

В качестве примера, используя Cake\Controller\Controller::$components. Вы можете назначить псевдоним объекту, установив ключ 'className', например,

public $components = [
  'Email' => [
    'className' => '\App\Controller\Component\AliasedEmailComponent'
  ];
];

Все вызовы компонента Email будут использовать AliasedEmail вместо.

Параметры

string $objectName
Имя/класс объекта для загрузки.
array $config необязательный []
Дополнительные настройки для использования при загрузке объекта.

Возвращает

mixed
смешанный тип

loadedsource public

loaded( )

Получить список загруженных объектов.

Возвращает

array
Список имён объектов.

normalizeArraysource public

normalizeArray( array $objects )

Нормализует массив объектов, создаёт массив, который упрощает ленивую загрузку

Параметры

array $objects
Массив дочерних объектов для нормализации.

Возвращает

array
Массив нормализованных объектов.

resetsource public

reset( )

Очистить загруженные экземпляры в реестре.

Если подкласс реестра имеет диспетчер событий, объекты также будут отделены от событий.

setsource public

set( string $objectName , object $object )

Непосредственно установить объект в реестр по имени.

Если эта коллекция реализует события, переданный объект будет присоединён к диспетчеру событий

Параметры

string $objectName
Имя объекта для установки в реестр.
object $object
экземпляр для хранения в реестре
END_OF_DOCUMENT_MARKER

unloadsource public

unload( string $objectName )

Удалить объект из реестра.

Если в этом реестре есть менеджер событий, объект также будет отделен от любых событий.

Параметры

строка $objectName
Имя объекта для удаления из реестра.

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

dispatchEventsource public

dispatchEvent( string $name , array|null $data null , object|null $subject null )

Обёртка для создания и отправки событий.

Возвращает событие, которое было обработано.

Параметры

строка $name
Имя события.
массив|null $data необязательно null
Любое значение, которое вы хотите передать вместе с этим событием, чтобы его могли прочитать слушатели.
объект|null $subject необязательно null
Объект, к которому относится это событие ($this по умолчанию).

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

Cake\Event\Event
\Cake\Event\Event

Реализация

Cake\Event\EventDispatcherInterface::dispatchEvent()

eventManagersource public

eventManager( Cake\Event\EventManager $eventManager null )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

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

Параметры

Cake\Event\EventManager $eventManager необязательно null
менеджер событий для установки

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

Cake\Event\EventManager
\Cake\Event\EventManager

Реализация

Cake\Event\EventDispatcherInterface::eventManager()

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

$_Controllersource

protected Cake\Controller\Controller

Контроллер, с которым была инициализирована эта коллекция.

null

Свойства, унаследованные от Cake\Core\ObjectRegistry

$_loadedsource

protected массив

Карта загруженных объектов.

[]

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

$_eventClasssource

protected строка

Имя класса по умолчанию для новых объектов события.

'\Cake\Event\Event'

$_eventManagersource

protected Cake\Event\EventManager

Экземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.

null

© 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.ComponentRegistry.html

Spec-Zone.ru

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