Класс BehaviorRegistry
BehaviorRegistry используется в качестве реестра загруженных поведений и обрабатывает загрузку и создание объектов поведения.
Этот класс также предоставляет методы для проверки и отправки методов поведения.
- Cake\Core\ObjectRegistry implements Countable, IteratorAggregate
-
Cake\ORM\BehaviorRegistry implements Cake\Event\EventDispatcherInterface uses Cake\Event\EventDispatcherTrait
Краткое описание свойств
-
$_finderMapprotectedСопоставления методов поиска.array -
$_methodMapprotectedСопоставления методов.array - Таблица, использующая этот реестр.
$_tableprotected
Наследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- _create() protectedСоздание экземпляра поведения.
- _getMethods() protectedПолучение методов поведения и проверка отсутствия дубликатов.
- _resolveClassName() protectedРазрешение имени класса поведения.
- _throwMissingClassError() protectedВыбрасывает исключение при отсутствии поведения.
- call() publicВызов метода поведения.
- callFinder() publicВызов поиска в поведении.
- hasFinder() publicПроверка наличия загруженного поведения, реализующего указанный поиск.
- hasMethod() publicПроверка наличия загруженного поведения, реализующего метод.
- setTable() publicПрикрепляет экземпляр таблицы к этому реестру.
Подробное описание методов
__construct()source public
__construct( Cake\ORM\Table|null $table null )
Конструктор
Параметры
-
Cake\ORM\Table|null$tableнеобязательно null - Таблица, к которой прикреплен этот реестр.
_create()source protected
_create( string $class , string $alias , array $config )
Создание экземпляра поведения.
Часть шаблона метода Cake\Core\ObjectRegistry::load() Включенные поведения будут зарегистрированы в диспетчере событий.
Параметры
- string
$class - Имя класса, которого нет.
- string
$alias - Псевдоним объекта.
- array
$config - Массив конфигурации для поведения.
Возвращает
Cake\ORM\BehaviorСозданный класс поведения.
_getMethods()source protected
_getMethods( Cake\ORM\Behavior $instance , string $class , string $alias )
Получение методов поведения и проверка отсутствия дубликатов.
Используйте метод implementedEvents() для исключения методов обратного вызова. Методы, начинающиеся с _ будут проигнорированы, как и методы, объявленные в Cake\ORM\Behavior
Параметры
-
Cake\ORM\Behavior$instance - Поведение для получения методов.
- string
$class - Имя класса, которого нет.
- string
$alias - Псевдоним объекта.
Возвращает
arrayСписок реализованных поисков и методов.
Выбрасывает
LogicExceptionпри обнаружении дублирующихся методов.
_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\ORM\Exception\MissingBehaviorExceptioncall()source public
call( string $method , array $args [] )
Вызов метода поведения.
Параметры
- string
$method - Метод для вызова.
- array
$argsнеобязательно [] - Аргументы для вызова метода.
Возвращает
mixedВозвращаемое значение зависит от метода поведения.
Выбрасывает
BadMethodCallExceptionЕсли метод неизвестен.
callFinder()source public
callFinder( string $type , array $args [] )
Вызов поиска в поведении.
Параметры
- string
$type - Тип поиска для вызова.
- array
$argsнеобязательно [] - Аргументы для вызова метода.
Возвращает
mixedВозвращаемое значение зависит от метода поведения.
Выбрасывает
BadMethodCallExceptionЕсли метод неизвестен.
hasFinder()source public
hasFinder( string $method )
Проверка наличия загруженного поведения, реализующего указанный поиск.
Возвращает true, если любое поведение предоставляет публичный метод с указанным именем.
Параметры
- string
$method - Метод для проверки.
Возвращает
booleanhasMethod()source public
hasMethod( string $method )
Проверка наличия загруженного поведения, реализующего метод.
Возвращает true, если любое поведение предоставляет публичный метод (не поиск) с указанным именем.
Параметры
- string
$method - Метод для проверки.
Возвращает
booleansetTable()source public
setTable( Cake\ORM\Table $table )
Прикрепляет экземпляр таблицы к этому реестру.
Параметры
-
Cake\ORM\Table$table - Таблица, к которой прикреплен этот реестр.
Наследованные методы из Cake\Core\ObjectRegistry
__get()source public
__get( string $name )
Предоставление публичного чтения загруженных объектов
Параметры
- строка
$name - Имя свойства для чтения
Возвращает
смешанный__isset()source public
__isset( string $name )
Предоставление доступа isset к _loaded
Параметры
- строка
$name - Имя проверяемого объекта.
Возвращает
логическое значение__set()source public
__set( string $name , mixed $object )
Устанавливает объект.
Параметры
- строка
$name - Имя свойства для установки.
- смешанный
$object - Устанавливаемый объект.
__unset()source public
__unset( string $name )
Удаляет объект.
Параметры
- строка
$name - Имя свойства для удаления.
_checkDuplicate()source protected
_checkDuplicate( string $name , array $config )
Проверка на дублирование загрузки объектов.
Если загружается дубликат с другим конфигурацией, это ошибка, и будет выброшено исключение.
Исключение вызывается, так как замена объекта не обновит никакие ссылки, которые могут иметь другие объекты. Кроме того, простое обновление конфигурации выполнения не является хорошим вариантом, так как мы можем пропустить важную логику конструктора, зависящую от конфигурации.
Параметры
- строка
$name - Имя псевдонима в реестре.
- массив
$config - Данные конфигурации для нового экземпляра.
Исключения
RuntimeExceptionКогда обнаружен дубликат.
count()source public
count( )
Возвращает количество загруженных объектов.
Возвращает
целое числоРеализация
Countable::count() get()source public
get( string $name )
Получить экземпляр загруженного объекта.
Параметры
- строка
$name - Имя объекта.
Возвращает
объект|nullЭкземпляр объекта, если загружен, иначе null.
getIterator()source public
getIterator( )
Возвращает итератор массива.
Возвращает
ArrayIteratorРеализация
IteratorAggregate::getIterator() 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 - Массив дочерних объектов для нормализации.
Возвращает
массивМассив нормализованных объектов.
reset()source public
reset( )
Очистить загруженные экземпляры в реестре.
Если подкласс реестра имеет менеджер событий, объекты также будут отсоединены от событий.
Возвращает
$this
set()source public
set( string $objectName , object $object )
Непосредственно установить объект в реестр по имени.
Если эта коллекция реализует события, переданный объект будет подключен к менеджеру событий
Параметры
- строка
$objectName - Имя объекта для установки в реестр.
- объект
$object - экземпляр для хранения в реестре
Возвращает
$this
unload()source public
unload( string $objectName )
Удалить объект из реестра.
Если этот реестр имеет менеджер событий, объект также будет отсоединён от всех событий.
Параметры
- строка
$objectName - Имя объекта для удаления из реестра.
Возвращает
$this
Методы, используемые из 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 для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по желанию.
Устарело
3.5.0 Используйте getEventManager()/setEventManager() вместо этого.Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - менеджер событий для установки
Возвращает
Cake\Event\EventManagergetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по желанию.
Возвращает
Cake\Event\EventManagersetEventManager()source public
setEventManager( Cake\Event\EventManager $eventManager )
Возвращает экземпляр менеджера Cake\Event\EventManager для данного объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Параметры
-
Cake\Event\EventManager$eventManager - устанавливаемый eventManager
Возвращаемое значение
$this
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробности свойств
© 2005–2017 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.4/class-Cake.ORM.BehaviorRegistry.html