Spec-Zone.ru › CakePHP 3.2

Класс BehaviorRegistry

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

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

Cake\Core\ObjectRegistry
Extended by Cake\ORM\BehaviorRegistry реализует Cake\Event\EventDispatcherInterface и использует 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()

Параметры

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 )

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

Параметры

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

Возвращает

mixed
END_OF_DOCUMENT_MARKER

__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
Имя объекта для проверки.

Возвращает

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

Параметры

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

Возвращает

mixed

loaded()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\Event

eventManager()source public

eventManager( Cake\Event\EventManager $eventManager null )

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

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

Параметры

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

Возвращает

Cake\Event\EventManager

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

$_finderMapsource

protected массив

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

[]

$_methodMapsource

protected массив

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

[]

$_tablesource

protected Cake\ORM\Table

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

© 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

Spec-Zone.ru

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