Класс ComponentRegistry
ComponentRegistry — это реестр загруженных компонентов
Обрабатывает загрузку, создание и привязку событий для объектов класса компонента.
- Cake\Core\ObjectRegistry
-
Cake\Controller\ComponentRegistry реализует Cake\Event\EventDispatcherInterface использует Cake\Event\EventDispatcherTrait
Краткое описание свойств
- Контроллер, с которым была инициализирована эта коллекция.
$_Controllerprotected
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор.
- _create() protectedСоздание экземпляра компонента.
- _resolveClassName() protectedРазрешение имени класса компонента.
- _throwMissingClassError() protectedВыбрасывает исключение при отсутствии компонента.
- getController() publicПолучение контроллера, связанного с коллекцией.
- setController() publicУстановка контроллера, связанного с коллекцией.
Подробное описание методов
__construct()source public
__construct( Cake\Controller\Controller $controller null )
Конструктор.
Параметры
-
Cake\Controller\Controller$controllerнеобязательно null - Экземпляр контроллера.
_create()source protected
_create( string $class , string $alias , array $config )
Создание экземпляра компонента.
Часть шаблонного метода для Cake\Core\ObjectRegistry::load() Включенные компоненты будут зарегистрированы в диспетчере событий.
Параметры
- строка
$class - Имя класса для создания.
- строка
$alias - Псевдоним компонента.
- массив
$config - Массив конфигурации для компонента.
Возвращает
Cake\Controller\ComponentСозданный класс компонента.
_resolveClassName()source protected
_resolveClassName( string $class )
Разрешение имени класса компонента.
Часть шаблонного метода для Cake\Core\ObjectRegistry::load()
Параметры
- строка
$class - Частичное имя класса для разрешения.
Возвращает
строка|ложьПравильное имя класса или ложь.
_throwMissingClassError()source protected
_throwMissingClassError( string $class , string $plugin )
Выбрасывает исключение при отсутствии компонента.
Часть шаблонного метода для Cake\Core\ObjectRegistry::load()
Параметры
- строка
$class - Отсутствующий класс.
- строка
$plugin - Плагин, в котором отсутствует компонент.
Выбрасывает
Cake\Controller\Exception\MissingComponentExceptiongetController()source public
getController( )
Получение контроллера, связанного с коллекцией.
Возвращает
Cake\Controller\ControllerЭкземпляр контроллера
setController()source public
setController( Cake\Controller\Controller $controller )
Установка контроллера, связанного с коллекцией.
Параметры
-
Cake\Controller\Controller$controller - Экземпляр контроллера.
Методы, унаследованные от Cake\Core\ObjectRegistry
__get()source public
__get( string $name )
Предоставление публичного чтения загруженных объектов
Параметры
- строка
$name - Имя свойства для чтения
Возвращает
смешанный тип__isset()source public
__isset( string $name )
Предоставление доступа isset к _loaded
Параметры
- строка
$name - Имя проверяемого объекта.
Возвращает
булево_checkDuplicate()source protected
_checkDuplicate( string $name , array $config )
Проверка на дублирование загрузки объекта.
Если дубликат загружается и имеет другую конфигурацию, это плохо, и будет выброшено исключение.
Выбрасывается исключение, так как замена объекта не обновит какие-либо ссылки, которые другие объекты могут иметь. Кроме того, простое обновление конфигурации во время выполнения не является хорошим вариантом, так как мы можем пропустить важную логику конструктора, зависящую от конфигурации.
Параметры
- строка
$name - Имя псевдонима в реестре.
- массив
$config - Данные конфигурации для нового экземпляра.
Выбрасывает
исключение RuntimeПри обнаружении дубликата.
get()source public
get( string $name )
Получение экземпляра загруженного объекта.
Параметры
- строка
$name - Имя объекта.
Возвращает
объект|nullЭкземпляр объекта, если загружен, иначе null.
has()source public
has( string $name )
Проверка того, загружен ли данный объект.
Параметры
- строка
$name - Имя объекта для проверки.
Возвращает
булевоTrue, если объект загружен, иначе false.
load()source public
load( string $objectName , array $config [] )
Загрузка/создание экземпляра объекта.
Вернёт экземпляр в реестре, если он уже существует. Если подкласс предоставляет поддержку событий, вы можете использовать $config['enabled'] = false для исключения созданных объектов из регистрации для событий.
В качестве примера можно использовать Cake\Controller\Controller::$components. Вы можете задать псевдоним объекта, установив ключ 'className', например:
public $components = [
'Email' => [
'className' => '\App\Controller\Component\AliasedEmailComponent'
];
]; Все вызовы компонента Email будут использовать AliasedEmail вместо этого.
Параметры
- строка
$objectName - Имя/класс объекта для загрузки.
- массив
$configнеобязательно [] - Дополнительные параметры для использования при загрузке объекта.
Возвращает
смешанный типloaded()source public
loaded( )
Получение списка загруженных объектов.
Возвращает
массивСписок имён объектов.
normalizeArray()source public
normalizeArray( array $objects )
Нормализует массив объектов, создаёт массив, который упрощает ленивую загрузку
Параметры
- массив
$objects - Массив дочерних объектов для нормализации.
Возвращает
arrayМассив нормализованных объектов.
reset()source public
reset( )
Очистить загруженные экземпляры в реестре.
Если подкласс реестра имеет менеджер событий, объекты также будут отделены от событий.
set()source public
set( string $objectName , object $object )
Установить объект непосредственно в реестре по имени.
Если эта коллекция реализует события, переданный объект будет прикреплён к менеджеру событий
Параметры
- строка
$objectName - Имя объекта для установки в реестре.
- объект
$object - экземпляр для хранения в реестре
unload()source public
unload( string $objectName )
Удалить объект из реестра.
Если этот реестр имеет менеджер событий, объект также будет отделён от всех событий.
Параметры
- строка
$objectName - Имя объекта для удаления из реестра.
Методы, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data null , object|null $subject null )
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataнеобязательно null Любое значение, которое вы хотите передать с этим событием, для того, чтобы его могли прочитать слушатели.
- объект|null
$subjectнеобязательно null Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventeventManager()source public
eventManager( Cake\Event\EventManager $eventManager null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или создавать собственные события и вызывать их по желанию.
Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - менеджер событий для установки
Возвращает
Cake\Event\EventManagerПодробности свойств
$_Controllersource
protected Cake\Controller\Controller
Контроллер, с которым была инициализирована эта коллекция.
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.2/class-Cake.Controller.ComponentRegistry.html