Spec-Zone.ru › CakePHP 3.6

Класс ComponentRegistry

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

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

Cake\Core\ObjectRegistry implements Countable, IteratorAggregate
Extended by Cake\Controller\ComponentRegistry implements 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() Включенные компоненты будут зарегистрированы в диспетчере событий.

Параметры

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

Возвращает

Cake\Controller\Component
Созданный класс компонента.

_resolveClassName()source protected

_resolveClassName( string $class )

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

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

Параметры

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

Возвращает

string|false
Правильное имя класса или false.

_throwMissingClassError()source protected

_throwMissingClassError( string $class , string $plugin )

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

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

Параметры

string $class
Отсутствующий класс.
string $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( )

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

Возвращает

array

__get()source public

__get( string $name )

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

Параметры

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

Возвращает

mixed

__isset()source public

__isset( string $name )

Предоставляет доступ isset к _loaded

Параметры

string $name
Имя объекта, который проверяется.

Возвращает

boolean

__set()source public

__set( string $name , mixed $object )

Устанавливает объект.

Параметры

string $name
Имя свойства для установки.
mixed $object
Объект для установки.

__unset()source public

__unset( string $name )

Удаляет объект.

Параметры

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

_checkDuplicate()source protected

_checkDuplicate( string $name , array $config )

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

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

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

Параметры

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

Выбрасывает

RuntimeException
При обнаружении дубликата.

count()source public

count( )

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

Возвращает

integer

Реализация

Countable::count()

get()source public

get( string $name )

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

Параметры

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

Возвращает

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

getIterator()source public

getIterator( )

Возвращает итератор массива.

Возвращает

ArrayIterator

Реализация

IteratorAggregate::getIterator()
END_OF_DOCUMENT_MARKER

has()source public

has( string $name )

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

Параметры

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

Возвращает

boolean
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 вместо этого.

Параметры

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

Возвращает

mixed

Выбрасывает

Exception
Если класс не найден.

loaded()source public

loaded( )

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

Возвращает

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

normalizeArray()source public

normalizeArray( array $objects )

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

Параметры

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

Возвращает

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

reset()source public

reset( )

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

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

Возвращает


$this

set()source public

set( string $objectName , object $object )

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

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

Параметры

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

Возвращает


$this

unload()source public

unload( string $objectName )

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

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

Параметры

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

Возвращает


$this

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

dispatchEvent()source public

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

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

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

Параметры

string $name
Имя события.
array|null $data необязательно null

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

object|null $subject необязательно null

Объект, к которому относится это событие ($this по умолчанию).

Возвращает

Cake\Event\Event

eventManager()source public deprecated

eventManager( Cake\Event\EventManager $eventManager = null )

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

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

Устарело

3.5.0 Используйте getEventManager()/setEventManager() вместо этого.

Параметры

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

Возвращает

Cake\Event\EventManager

getEventManager()source public

getEventManager( )

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

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

Возвращает

Cake\Event\EventManager

setEventManager()source public

setEventManager( Cake\Event\EventManager $eventManager )

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

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

Параметры

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

Возвращает


$this

Магические методы, унаследованные от Cake\Event\EventDispatcherInterface

getEventManager()

Подробности свойств

$_Controllersource

protected Cake\Controller\Controller

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

© 2005–present 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.
https://api.cakephp.org/3.6/class-Cake.Controller.ComponentRegistry.html

Spec-Zone.ru

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