Класс BehaviorRegistry
BehaviorRegistry используется в качестве реестра загруженных поведений и обрабатывает загрузку и создание объектов поведения.
Этот класс также предоставляет методы для проверки и отправки методов поведения.
- Cake\Core\ObjectRegistry
-
Cake\ORM\BehaviorRegistry реализует Cake\Event\EventDispatcherInterface и использует 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()
Параметры
- 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 )
Предоставление публичного чтения загруженных объектов.
Параметры
- string
$name - Имя свойства для чтения
Возвращает
mixed__isset()source public
__isset( string $name )
Обеспечить доступ isset к _loaded
Параметры
- строка
$name - Имя проверяемого объекта.
Возвращает
boolean_checkDuplicate()source protected
_checkDuplicate( string $name , array $config )
Проверка на дублирование загрузки объектов.
Если загружается дубликат с разными настройками, это некорректно и будет выброшено исключение.
Исключение вызывается, так как замена объекта не обновит ссылки, которые могут иметь другие объекты. Кроме того, простое обновление конфигурации во время выполнения не является хорошим вариантом, так как мы можем пропустить важную логику конструктора, зависящую от конфигурации.
Параметры
- строка
$name - Имя псевдонима в реестре.
- массив
$config - Данные конфигурации для нового экземпляра.
Исключения
RuntimeExceptionПри обнаружении дубликата.
get()source public
get( string $name )
Получить загруженный экземпляр объекта.
Параметры
- строка
$name - Имя объекта.
Возвращает
object|nullЭкземпляр объекта, если он загружен, иначе null.
has()source public
has( string $name )
Проверка наличия загруженного объекта.
Параметры
- строка
$name - Имя объекта для проверки.
Возвращает
booleanTrue, если объект загружен, иначе 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необязательный [] - Дополнительные настройки для загрузки объекта.
Возвращает
mixedloaded()source public
loaded( )
Получить список загруженных объектов.
Возвращает
массивСписок имён объектов.
normalizeArray()source public
normalizeArray( array $objects )
Нормализует массив объектов, создает массив, который упрощает ленивую загрузку.
Параметры
- массив
$objects - Массив дочерних объектов для нормализации.
Возвращает
массивМассив нормализованных объектов.
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\EventeventManager()source public
eventManager( Cake\Event\EventManager $eventManager null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или создавать собственные события и вызывать их по своему желанию.
Параметры
-
Cake\Event\EventManager$eventManagerнеобязательный null - диспетчер событий для установки
Возвращает
Cake\Event\EventManagerПодробное описание свойств
© 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.ORM.BehaviorRegistry.html