Класс ConnectionRegistry
Объект-реестр для экземпляров соединений.
Краткое описание свойств
- $_loaded protected
array<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<string, mixed>
Свойства объекта для отладки.
Возвращает
array<string, mixed>__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<string, mixed> $config): void
Проверка на дублирование загружаемых объектов.
Если загружается дубликат с другой конфигурацией, это ошибка, и будет выброшено исключение.
Исключение выбрасывается, так как замена объекта не обновит ссылки, которые могут иметь другие объекты. Кроме того, простое обновление конфигурации выполнения не является хорошим вариантом, так как мы можем пропустить важный конструкторский код, зависящий от конфигурации.
Параметры
-
string$name Имя псевдонима в реестре.
-
array<string, mixed>$config Данные конфигурации для нового экземпляра.
Возвращает
voidВыбрасывает
RuntimeExceptionПри обнаружении дубликата.
_create() protected
_create(object|string $class, string $alias, array<string, mixed> $config): Cake\Datasource\ConnectionInterface
Создаёт объект подключения с правильными настройками.
Часть шаблона метода Cake\Core\ObjectRegistry::load()
Если в качестве первого аргумента передаётся вызываемый объект, возвращаемое значение этой функции будет результатом вызова этого объекта.
Параметры
-
object|string$class Имя класса или объект для создания.
-
string$alias Псевдоним объекта.
-
array<string, mixed>$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<string, mixed> $config = []): mixed
Загрузка/создание экземпляра объекта.
Вернёт экземпляр из реестра, если он уже существует. Если подкласс поддерживает события, вы можете использовать $config['enabled'] = false для исключения созданных объектов из регистрации для событий.
В качестве примера, используя {@link \Cake\Controller\Component::$components}. Вы можете задать псевдоним объекта, установив ключ 'className', например,
protected $components = [
'Email' => [
'className' => 'App\Controller\Component\AliasedEmailComponent'
];
]; Все вызовы компонента Email будут использовать AliasedEmail вместо.
Параметры
-
string$name Имя/класс объекта для загрузки.
-
array<string, mixed>$config optional Дополнительные настройки для загрузки объекта.
Возвращает
mixedВыбрасывает
ExceptionЕсли класс не найден.
loaded() public
loaded(): array<string>
Список загруженных объектов.
Возвращает
array<string>normalizeArray() public
normalizeArray(array $objects): array<string, array>
Нормализует массив объектов, создаёт массив, который упрощает ленивую загрузку
Параметры
-
array$objects Массив дочерних объектов для нормализации.
Возвращает
array<string, 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
Карта загруженных объектов.
Тип
array<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.3/class-Cake.Datasource.ConnectionRegistry.html