Spec-Zone.ru › CakePHP 3.2

Класс ComponentRegistry

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

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

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

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

  • $_Controller protected
    Cake\Controller\Controller
    Контроллер, с которым была инициализирована эта коллекция.

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

  • _loaded _eventClass, _eventManager

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

  • __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\MissingComponentException

getController()source public

getController( )

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

Возвращает

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

setController()source public

setController( Cake\Controller\Controller $controller )

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

Параметры

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

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

__debugInfo()source public

__debugInfo( )

Отладочные свойства объекта.

Возвращает

массив

__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( )

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

Возвращает

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

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\Event

eventManager()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

Spec-Zone.ru

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