Spec-Zone.ru › CakePHP 3.8

Класс 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
менеджер событий для установки

Возвращает

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 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.8/class-Cake.ORM.BehaviorRegistry.html

Spec-Zone.ru

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