Spec-Zone.ru › CakePHP 3.1

Класс BehaviorRegistry

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

Этот класс также предоставляет методы для проверки и отправки методов поведения.

Cake\Core\ObjectRegistry
Extended by Cake\ORM\BehaviorRegistry реализует Cake\Event\EventDispatcherInterface использует Cake\Event\EventDispatcherTrait
Пространство имён: Cake\ORM
Расположение: ORM/BehaviorRegistry.php

Подробное описание методов

__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
Метод для проверки.

Возвращает

boolean
bool

hasMethodsource public

hasMethod( string $method )

Проверить, реализует ли какое-либо загруженное поведение метод.

Вернёт true, если какое-либо поведение предоставляет общедоступный метод (не метод поиска) с выбранным именем.

Параметры

string $method
Метод для проверки.

Возвращает

boolean
bool

setTablesource public

setTable( Cake\ORM\Table $table )

Прикрепляет экземпляр таблицы к этому реестру.

Параметры

Cake\ORM\Table $table
Таблица, к которой прикреплён этот реестр.

Методы, унаследованные от Cake\Core\ObjectRegistry

__debugInfosource public

__debugInfo( )

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

Возвращает

array
array

__getsource public

__get( string $name )

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

Параметры

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

Возвращает

mixed
mixed

__issetsource public

__isset( string $name )

Предоставить доступ isset к _loaded

Параметры

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

Возвращает

boolean
bool

_checkDuplicatesource protected

_checkDuplicate( string $name , array $config )

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

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

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

Параметры

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

Выбрасывает

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

getsource public

get( string $name )

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

Параметры

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

Возвращает

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

hassource public

has( string $name )

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

Параметры

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

Возвращает

boolean
True, если объект загружен, иначе 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()

Краткое описание свойств

$_finderMapsource

protected массив

Сопоставления методов поиска.

[]

$_methodMapsource

protected массив

Сопоставления методов.

[]

$_tablesource

protected Cake\ORM\Table

Таблица, использующая этот реестр.

Наследованные свойства из Cake\Core\ObjectRegistry

$_loadedsource

protected массив

Карта загруженных объектов.

[]

Свойства, используемые из 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

Spec-Zone.ru

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