Класс ConnectionRegistry
Объект реестра для экземпляров подключений.
Краткое описание свойств
- $_loaded protected
object[]Карта загруженных объектов.
Краткое описание методов
-
__debugInfo() public
Свойства объекта для отладки.
-
__get() public
Обеспечение открытого чтения загруженных объектов.
-
__isset() public
Обеспечение доступа isset к _loaded.
-
__set() public
Устанавливает объект.
-
__unset() public
Удаляет объект.
-
_checkDuplicate() protected
Проверка на дублирование загрузки объектов.
-
_create() protected
Создание объекта подключения с правильными настройками.
-
_resolveClassName() protected
Разрешение имени класса источника данных.
-
_throwMissingClassError() protected
Выбрасывает исключение, если источник данных отсутствует.
-
count() public
Возвращает количество загруженных объектов.
-
get() public
Получение загруженного экземпляра объекта.
-
getIterator() public
Возвращает итератор массива.
-
has() public
Проверка наличия заданного объекта.
-
load() public
Загрузка/создание экземпляра объекта.
-
loaded() public
Получение списка загруженных объектов.
-
normalizeArray() public
Нормализует массив объектов, создаёт массив, упрощающий ленивую загрузку.
-
reset() public
Очистка загруженных экземпляров в реестре.
-
set() public
Установка объекта напрямую в реестр по имени.
-
unload() public
Удаление одного адаптера из реестра.
Подробное описание методов
__debugInfo() public
__debugInfo(): array
Свойства объекта для отладки.
Возвращает
array__get() public
__get(string $name): object|null
Предоставляет общедоступный чтение загруженных объектов.
Параметры
-
string$name Имя свойства для чтения.
Возвращает
object|null__isset() public
__isset(string $name): bool
Предоставляет доступ isset к _loaded.
Параметры
-
string$name Имя проверяемого объекта.
Возвращает
bool__set() public
__set(string $name, object $object): void
Устанавливает объект.
Параметры
-
string$name Имя свойства для установки.
-
object$object Устанавливаемый объект.
Возвращает
void__unset() public
__unset(string $name): void
Удаляет объект.
Параметры
-
string$name Имя свойства для удаления.
Возвращает
void_checkDuplicate() protected
_checkDuplicate(string $name, array $config): void
Проверка на дублирование загруженных объектов.
Если загружается дубликат с другим конфигурацией, будет выброшено исключение.
Исключение выбрасывается, так как замена объекта не обновит ссылки, которые могут иметь другие объекты. Кроме того, простое обновление конфигурации в runtime — не лучший вариант, так как мы можем пропустить важные логику конструктора, зависящие от конфигурации.
Параметры
-
string$name Имя псевдонима в реестре.
-
array$config Данные конфигурации для нового экземпляра.
Возвращает
voidИсключения
RuntimeExceptionПри обнаружении дубликата.
_create() protected
_create(string|object $class, string $alias, array $config): Cake\Datasource\ConnectionInterface
Создает объект подключения с правильными настройками.
Часть шаблона метода для Cake\Core\ObjectRegistry::load()
Если в качестве первого аргумента передается вызываемый объект, возвращаемое значение этой функции будет результатом вызова этого объекта.
Параметры
-
string|object$class Имя класса или объект для создания.
-
string$alias Псевдоним объекта.
-
array$config Массив настроек для использования в источнике данных.
Возвращает
Cake\Datasource\ConnectionInterface_resolveClassName() protected
_resolveClassName(string $class): string|null
Разрешение имени класса источника данных.
Часть шаблона метода для Cake\Core\ObjectRegistry::load()
Параметры
-
string$class Частичное имя класса для разрешения.
Возвращает
string|null_throwMissingClassError() protected
_throwMissingClassError(string $class, string|null $plugin): void
Выбрасывает исключение, когда источник данных отсутствует.
Часть шаблона метода для Cake\Core\ObjectRegistry::load()
Параметры
-
string$class Имя класса, которого нет.
-
string|null$plugin Плагин, в котором отсутствует источник данных.
Возвращает
voidИсключения
Cake\Datasource\Exception\MissingDatasourceExceptioncount() public
count(): int
Возвращает количество загруженных объектов.
Возвращает
intget() public
get(string $name): object
Получение экземпляра загруженного объекта.
Параметры
-
string$name Имя объекта.
Возвращает
objectИсключения
RuntimeExceptionЕсли объект не загружен или не найден.
getIterator() public
getIterator(): Traversable
Возвращает итератор массива.
Возвращает
Traversablehas() public
has(string $name): bool
Проверка наличия загруженного объекта.
Параметры
-
string$name Имя проверяемого объекта.
Возвращает
boolload() public
load(string $name, array $config = []): mixed
Загрузка/создание экземпляра объекта.
Вернет экземпляр из реестра, если он уже существует. Если подкласс поддерживает события, можно использовать $config['enabled'] = false для исключения созданных объектов из регистрации событий.
Например, используя Cake\Controller\Controller::$components. Можно задать псевдоним объекта, установив ключ 'className', например:
protected $components = [
'Email' => [
'className' => 'App\Controller\Component\AliasedEmailComponent'
];
]; Все вызовы компонента Email будут использовать AliasedEmail.
Параметры
-
string$name Имя/класс объекта для загрузки.
-
array$config optional Дополнительные настройки для загрузки объекта.
Возвращает
mixedИсключения
ExceptionЕсли класс не найден.
loaded() public
loaded(): string[]
Получение списка загруженных объектов.
Возвращает
string[]normalizeArray() public
normalizeArray(array $objects): array[]
Нормализует массив объектов, создаёт массив, что упрощает ленивую загрузку.
Параметры
-
array$objects Массив дочерних объектов для нормализации.
Возвращает
array[]reset() public
reset(): $this
Очищает загруженные экземпляры в реестре.
Если подкласс реестра имеет менеджер событий, объекты также будут отвязаны от событий.
Возвращает
$thisset() public
set(string $name, object $object): $this
Непосредственно устанавливает объект в реестр по имени.
Если эта коллекция реализует события, переданный объект будет подключен к менеджеру событий.
Параметры
-
string$name Имя объекта для установки в реестре.
-
object$object экземпляр для хранения в реестре
Возвращает
$thisunload() public
unload(string $name): $this
Удаление одного адаптера из реестра.
Если этот реестр имеет менеджер событий, объект также будет отсоединен от всех событий.
Параметры
-
string$name Имя адаптера.
Возвращает
$thisПодробное описание свойств
$_loaded protected
Карта загруженных объектов.
Тип
object[]
© 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/4.2/class-Cake.Datasource.ConnectionRegistry.html