Класс ConnectionRegistry
Объект-регистр для экземпляров соединений.
- Cake\Core\ObjectRegistry реализует Countable, IteratorAggregate
-
Cake\Datasource\ConnectionRegistry
См.:
Cake\Datasource\ConnectionManagerРасположение: Datasource/ConnectionRegistry.php
Унаследованные свойства
Краткое описание методов
- _create() protectedСоздать объект соединения с правильными настройками.
- _resolveClassName() protectedРазрешить имя класса источника данных.
- _throwMissingClassError() protectedВыбрасывает исключение при отсутствии источника данных
- unload() publicУдалить один адаптер из реестра.
Подробное описание методов
_create()source protected
_create( string|object|callable $class , string $alias , array $settings )
Создать объект соединения с правильными настройками.
Часть шаблонного метода для Cake\Core\ObjectRegistry::load()
Если в качестве первого аргумента передаётся вызываемый объект, возвращаемое значение этой функции будет результатом вызова этого объекта.
Параметры
- string|object|callable
$class - Имя класса или объект для создания.
- string
$alias - Псевдоним объекта.
- array
$settings - Массив настроек для использования в источнике данных.
Возвращает
objectСоединение с правильными настройками.
_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\Datasource\Exception\MissingDatasourceExceptionunload()source public
unload( string $name )
Удалить один адаптер из реестра.
Параметры
- string
$name - Имя адаптера.
Переопределяет
Cake\Core\ObjectRegistry::unload() Методы, унаследованные от Cake\Core\ObjectRegistry
__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 - Имя объекта для проверки.
Возвращает
booleanTrue, если объект загружен, иначе 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
$configoptional [] - Дополнительные настройки для использования при загрузке объекта.
Возвращает
mixedВыбрасывает
ExceptionЕсли класс не найден.
loaded()source public
loaded( )
Получить список загруженных объектов.
Возвращает
string[]Список имён объектов.
normalizeArray()source public
normalizeArray( array $objects )
Нормализует массив объектов, создает массив, который облегчает ленивую загрузку
Параметры
- массив
$objects - Массив дочерних объектов для нормализации.
Возвращает
массивМассив нормализованных объектов.
reset()source public
reset( )
Очистить загруженные экземпляры в реестре.
Если подкласс реестра имеет менеджер событий, объекты также будут отделены от событий.
Возвращает
$this
set()source public
set( string $objectName , object $object )
Установить объект напрямую в реестр по имени.
Если этот набор реализует события, переданный объект будет подключен к менеджеру событий
Параметры
- строка
$objectName - Имя объекта для установки в реестр.
- объект
$object - экземпляр для хранения в реестре
Возвращает
$this
© 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.Datasource.ConnectionRegistry.html