Класс ConnectionRegistry
Объект-регистр для экземпляров подключения.
- Cake\Core\ObjectRegistry
-
Cake\Datasource\ConnectionRegistry
См.:
Cake\Datasource\ConnectionManagerРасположение: Datasource/ConnectionRegistry.php
Унаследованные свойства
Краткое описание методов
- _create() защищённыйСоздать объект подключения с правильными настройками.
- _resolveClassName() защищённыйРазрешить имя класса источника данных.
- _throwMissingClassError() защищённыйВыбрасывает исключение, если отсутствует источник данных
- unload() публичныйУдалить один адаптер из реестра.
Подробное описание методов
_create()исходный код защищённый
_create( string|object|callable $class , string $alias , array $settings )
Создать объект подключения с правильными настройками.
Часть шаблона метода для Cake\Core\ObjectRegistry::load()
Если в качестве первого аргумента передаётся вызываемый объект, возвращаемое значение этой функции будет результатом вызова.
Параметры
- string|object|callable
$class - Имя класса или объект для создания.
- string
$alias - Псевдоним объекта.
- array
$settings - Массив настроек для использования в источнике данных.
Возвращает
objectПодключение с правильными настройками.
_resolveClassName()исходный код защищённый
_resolveClassName( string $class )
Разрешить имя класса источника данных.
Часть шаблона метода для Cake\Core\ObjectRegistry::load()
Параметры
- string
$class - Частичное имя класса для разрешения.
Возвращает
string|falseПравильное имя класса или false.
_throwMissingClassError()исходный код защищённый
_throwMissingClassError( string $class , string $plugin )
Выбрасывает исключение, если отсутствует источник данных
Часть шаблона метода для Cake\Core\ObjectRegistry::load()
Параметры
- string
$class - Отсутствующее имя класса.
- string
$plugin - Плагин, в котором отсутствует источник данных.
Исключения
Cake\Datasource\Exception\MissingDatasourceExceptionunload()исходный код публичный
unload( string $name )
Удалить один адаптер из реестра.
Параметры
- string
$name - Имя адаптера.
Переопределяет
Cake\Core\ObjectRegistry::unload() Методы, унаследованные от Cake\Core\ObjectRegistry
__get()исходный код публичный
__get( string $name )
Обеспечить общедоступный доступ для чтения к загруженным объектам
Параметры
- string
$name - Имя свойства для чтения
Возвращает
mixed__isset()исходный код публичный
__isset( string $name )
Обеспечить доступ isset к _loaded
Параметры
- string
$name - Имя проверяемого объекта.
Возвращает
boolean_checkDuplicate()исходный код защищённый
_checkDuplicate( string $name , array $config )
Проверка на дублирование загрузки объекта.
Если загружается дубликат с различной конфигурацией, это является ошибкой и будет выброшено исключение.
Выбрасывается исключение, так как замена объекта не обновит какие-либо ссылки, которые могут иметь другие объекты. Кроме того, простое обновление конфигурации во время выполнения не является хорошим вариантом, так как мы можем пропустить важную логику конструктора, зависящую от конфигурации.
Параметры
- string
$name - Имя псевдонима в реестре.
- array
$config - Данные конфигурации для нового экземпляра.
Исключения
RuntimeExceptionПри обнаружении дубликата.
get()исходный код публичный
get( string $name )
Получить загруженный экземпляр объекта.
Параметры
- string
$name - Имя объекта.
Возвращает
object|nullЭкземпляр объекта, если загружен, иначе null.
has()исходный код публичный
has( string $name )
Проверить, загружен ли данный объект.
Параметры
- string
$name - Имя объекта для проверки.
Возвращает
booleanTrue, если объект загружен, иначе false.
load()исходный код публичный
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необязательно [] - Дополнительные настройки для загрузки объекта.
Возвращает
mixedloaded()исходный код публичный
loaded( )
Получить список загруженных объектов.
Возвращает
arrayСписок имён объектов.
normalizeArray()исходный код публичный
normalizeArray( array $objects )
Нормализует массив объектов, создаёт массив, который упрощает ленивую загрузку
Параметры
- array
$objects - Массив дочерних объектов для нормализации.
Возвращает
arrayМассив нормализованных объектов.
reset()исходный код публичный
reset( )
Очистить загруженные экземпляры в реестре.
Если подкласс реестра имеет менеджер событий, объекты также будут отключены от событий.
set()исходный код публичный
set( string $objectName , object $object )
Непосредственно установить объект в реестр по имени.
Если эта коллекция реализует события, переданный объект будет прикреплён к менеджеру событий
Параметры
- string
$objectName - Имя объекта для установки в реестр.
- object
$object - экземпляр для хранения в реестре
© 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.Datasource.ConnectionRegistry.html