Класс BehaviorRegistry
BehaviorRegistry используется в качестве реестра загруженных поведений и отвечает за загрузку и создание объектов поведения.
Этот класс также предоставляет методы для проверки и отправки методов поведения.
- Cake\Core\ObjectRegistry
-
Cake\ORM\BehaviorRegistry реализует Cake\Event\EventDispatcherInterface использует Cake\Event\EventDispatcherTrait
Подробное описание методов
__constructsource public
__construct( Cake\ORM\Table|null $table null )
Конструктор
Параметры
-
Cake\ORM\Table|null$tableнеобязательно null - Таблица, к которой прикреплён этот реестр.
_createsource protected
_create( string $class , string $alias , array $config )
Создать экземпляр поведения.
Часть шаблона метода для Cake\Core\ObjectRegistry::load() Включенные поведения будут зарегистрированы в диспетчере событий.
Параметры
- string
$class - Имя класса, которого нет.
- string
$alias - Псевдоним объекта.
- array
$config - Массив конфигурации для поведения.
Возвращает
Cake\ORM\BehaviorСозданный класс поведения.
_getMethodssource protected
_getMethods( Cake\ORM\Behavior $instance , string $class , string $alias )
Получить методы поведения и убедиться, что нет дубликатов.
Используйте метод implementedEvents(), чтобы исключить методы обратного вызова. Методы, начинающиеся с _ будут проигнорированы, как и методы, объявленные в Cake\ORM\Behavior
Параметры
-
Cake\ORM\Behavior$instance - Поведение, для которого нужно получить методы.
- string
$class - Имя класса, которого нет.
- string
$alias - Псевдоним объекта.
Возвращает
arrayСписок реализованных методов поиска.
Выбрасывает
LogicExceptionпри обнаружении дублирующихся методов.
_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\ORM\Exception\MissingBehaviorException\Cake\ORM\Exception\MissingBehaviorException
callsource public
call( string $method , array $args [] )
Вызвать метод поведения.
Параметры
- string
$method - Метод для вызова.
- array
$argsнеобязательно [] - Аргументы, с которыми вы хотите вызвать метод.
Возвращает
mixedЗначение возврата зависит от метода поведения.
Выбрасывает
BadMethodCallExceptionЕсли метод неизвестен.
callFindersource public
callFinder( string $type , array $args [] )
Вызвать поиск на поведении.
Параметры
- string
$type - Тип поиска для вызова.
- array
$argsнеобязательно [] - Аргументы, с которыми вы хотите вызвать метод.
Возвращает
mixedЗначение возврата зависит от метода поведения.
Выбрасывает
BadMethodCallExceptionЕсли метод неизвестен.
hasFindersource public
hasFinder( string $method )
Проверить, реализует ли какое-либо загруженное поведение указанный метод поиска.
Вернёт true, если какое-либо поведение предоставляет общедоступный метод с выбранным именем.
Параметры
- string
$method - Метод для проверки.
Возвращает
booleanbool
hasMethodsource public
hasMethod( string $method )
Проверить, реализует ли какое-либо загруженное поведение метод.
Вернёт true, если какое-либо поведение предоставляет общедоступный метод (не метод поиска) с выбранным именем.
Параметры
- string
$method - Метод для проверки.
Возвращает
booleanbool
setTablesource public
setTable( Cake\ORM\Table $table )
Прикрепляет экземпляр таблицы к этому реестру.
Параметры
-
Cake\ORM\Table$table - Таблица, к которой прикреплён этот реестр.
Методы, унаследованные от Cake\Core\ObjectRegistry
__getsource public
__get( string $name )
Предоставить общедоступный доступ для чтения к загруженным объектам
Параметры
- string
$name - Имя свойства для чтения
Возвращает
mixedmixed
__issetsource public
__isset( string $name )
Предоставить доступ isset к _loaded
Параметры
- string
$name - Имя проверяемого объекта.
Возвращает
booleanbool
_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 )
Проверка загружен ли данный объект.
Параметры
- строка
$name - Имя объекта для проверки.
Возвращает
booleanTrue, если объект загружен, иначе 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 вместо него.
Параметры
- строка
$objectName - Имя/класс объекта для загрузки.
- массив
$configнеобязательно [] - Дополнительные настройки для загрузки объекта.
Возвращает
mixedсмешанный тип
loadedsource public
loaded( )
Получение списка загруженных объектов.
Возвращает
arrayСписок имён объектов.
normalizeArraysource public
normalizeArray( array $objects )
Нормализует массив объектов, создаёт массив, который упрощает ленивую загрузку.
Параметры
- массив
$objects - Массив дочерних объектов для нормализации.
Возвращает
arrayМассив нормализованных объектов.
resetsource public
reset( )
Очистка загруженных экземпляров в реестре.
Если подкласс реестра имеет менеджер событий, объекты также будут отделены от событий.
setsource public
set( string $objectName , object $object )
Установка объекта напрямую в реестр по имени.
Если эта коллекция реализует события, переданный объект будет прикреплён к менеджеру событий
Параметры
- строка
$objectName - Имя объекта для установки в реестр.
- объект
$object - экземпляр для хранения в реестре
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() Краткое описание свойств
Наследованные свойства из Cake\Core\ObjectRegistry
Свойства, используемые из 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.ORM.BehaviorRegistry.html