Spec-Zone.ru › CakePHP 3.7

Класс 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
    Вызвать метод поиска поведения.
  • className() public static
    Разрешить имя класса поведения.
  • 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
Если метод неизвестен.

className()source public static

className( string $class )

Разрешить имя класса поведения.

Параметры

string $class
Частичное имя класса для разрешения.

Возвращает

string|null
Правильное имя класса или null.

С тех пор

3.5.7

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 )

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

Параметры

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

Возвращает

mixed

__isset()source public

__isset( string $name )

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

Параметры

string $name
Имя объекта, который проверяется.

Возвращает

boolean

__set()source public

__set( string $name , mixed $object )

Устанавливает объект.

Параметры

string $name
Имя свойства для установки.
mixed $object
Объект для установки.

__unset()source public

__unset( string $name )

Удаляет объект.

Параметры

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

_checkDuplicate()source protected

_checkDuplicate( string $name , array $config )

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

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

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

Параметры

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

Исключения

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

count()source public

count( )

Возвращает количество загруженных объектов.

Возвращает

integer

Реализация

Countable::count()

get()source public

get( string $name )

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

Параметры

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

Возвращает

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

getIterator()source public

getIterator( )

Возвращает итератор массива.

Возвращает

ArrayIterator

Реализация

IteratorAggregate::getIterator()

has()source public

has( string $name )

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

Параметры

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

Возвращает

boolean
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 вместо него.

Параметры

string $objectName
Имя/класс объекта для загрузки.
array $config optional []
Дополнительные настройки для загрузки объекта.

Возвращает

mixed

Исключения

Exception
Если класс не найден.

loaded()source public

loaded( )

Получение списка загруженных объектов.

Возвращает

string[]
Список имён объектов.

normalizeArray()source public

normalizeArray( array $objects )

Нормализует массив объектов, создает массив, который упрощает ленивую загрузку

Параметры

array $objects
Массив дочерних объектов для нормализации.

Возвращает

array
Массив нормализованных объектов.

reset()source public

reset( )

Очистка загруженных экземпляров в реестре.

Если подкласс реестра имеет менеджер событий, объекты также будут откреплены от событий.

Возвращает


$this

set()source public

set( string $objectName , object $object )

Установка объекта непосредственно в реестр по имени.

Если эта коллекция реализует события, переданный объект будет присоединён к менеджеру событий.

Параметры

string $objectName
Имя объекта для установки в реестре.
object $object
экземпляр для хранения в реестре

Возвращает


$this

unload()source public

unload( string $objectName )

Удаление объекта из реестра.

Если у этого реестра есть менеджер событий, объект также будет откреплён от любых событий.

Параметры

string $objectName
Имя объекта для удаления из реестра.

Возвращает


$this

Методы, используемые из Cake\Event\EventDispatcherTrait

dispatchEvent()source public

dispatchEvent( string $name , array|null $data = null , object|null $subject = null )

Обёртка для создания и отправки событий.

Возвращает обработанное событие.

Параметры

string $name
Имя события.
array|null $data optional null

Любое значение, которое вы хотите передать с этим событием, его могут прочитать слушатели.

object|null $subject optional null

Объект, к которому относится это событие ($this по умолчанию).

Возвращает

Cake\Event\Event

eventManager()source public deprecated

eventManager( Cake\Event\EventManager $eventManager = null )

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

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

Устарело

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

Параметры

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

Возвращает

Cake\Event\EventManager
END_OF_DOCUMENT_MARKER

getEventManager()source public

getEventManager( )

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

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

Возвращает

Cake\Event\EventManager

setEventManager()source public

setEventManager( Cake\Event\EventManager $eventManager )

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

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

Параметры

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

Возвращает


$this

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

getEventManager()

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

$_finderMapsource

protected array

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

[]

$_methodMapsource

protected array

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

[]

$_tablesource

protected Cake\ORM\Table

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

© 2005–present 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.7/class-Cake.ORM.BehaviorRegistry.html

Spec-Zone.ru

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