Класс ConnectionRegistry
Объект-реестр для экземпляров соединений.
- Cake\Core\ObjectRegistry implements 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.8/class-Cake.Datasource.ConnectionRegistry.html