Spec-Zone.ru › CakePHP 3.7

Класс ComponentRegistry

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

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

Cake\Core\ObjectRegistry implements Countable, IteratorAggregate
Extended by Cake\Controller\ComponentRegistry implements Cake\Event\EventDispatcherInterface uses 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 optional 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 )

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

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

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

Параметры

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 optional []
Дополнительные настройки для использования при загрузке объекта.

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

mixed

Исключения

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

loaded()source public

loaded( )

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

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

string[]
Список имён объектов.

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 optional null

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

object|null $subject optional 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 optional null
the eventManager to set

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

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
the eventManager to set

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


$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.7/class-Cake.Controller.ComponentRegistry.html

Spec-Zone.ru

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