Spec-Zone.ru › CakePHP 3.4

Класс BehaviorRegistry

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

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

Cake\Core\ObjectRegistry implements Countable, IteratorAggregate
Extended by Cake\ORM\BehaviorRegistry implements Cake\Event\EventDispatcherInterface uses Cake\Event\EventDispatcherTrait
Пространство имён: Cake\ORM
Расположение: ORM/BehaviorRegistry.php

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

  • $_finderMap protected
    array
    Сопоставления методов поиска.
  • $_methodMap protected
    array
    Сопоставления методов.
  • $_table protected
    Cake\ORM\Table
    Таблица, использующая этот реестр.

Наследованные свойства

  • _loaded _eventClass, _eventManager

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

  • __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\MissingBehaviorException

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

Возвращает

boolean

hasMethod()source public

hasMethod( string $method )

Проверка наличия загруженного поведения, реализующего метод.

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

Параметры

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

Возвращает

boolean

setTable()source public

setTable( Cake\ORM\Table $table )

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

Параметры

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

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

__debugInfo()source public

__debugInfo( )

Свойства объекта для отладки.

Возвращает

array

__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\Event

eventManager()source public

eventManager( Cake\Event\EventManager $eventManager null )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

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

Устарело

3.5.0 Используйте getEventManager()/setEventManager() вместо этого.

Параметры

Cake\Event\EventManager $eventManager необязательно null
менеджер событий для установки

Возвращает

Cake\Event\EventManager

getEventManager()source public

getEventManager( )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

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

Возвращает

Cake\Event\EventManager
END_OF_DOCUMENT_MARKER

setEventManager()source public

setEventManager( Cake\Event\EventManager $eventManager )

Возвращает экземпляр менеджера Cake\Event\EventManager для данного объекта.

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

Параметры

Cake\Event\EventManager $eventManager
устанавливаемый eventManager

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


$this

Магические методы, унаследованные от Cake\Event\EventDispatcherInterface

getEventManager()

Подробности свойств

$_finderMapsource

protected массив

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

[]

$_methodMapsource

protected массив

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

[]

$_tablesource

protected Cake\ORM\Table

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

© 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

Spec-Zone.ru

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