Класс ConnectionManager
Управляет и загружает экземпляры Connection
Предоставляет интерфейс для загрузки и создания объектов подключения. Выступает в роли реестра для подключений, определенных в приложении.
Предоставляет интерфейс для загрузки и перечисления подключений, определенных в config/app.php
Краткое описание свойств
- $_aliasMap protected static
string[]Карта псевдонимов подключений.
- $_config protected static
arrayНаборы конфигурации.
- $_dsnClassMap protected static
string[]Массив, сопоставляющий схемы URL полным именам классов драйверов.
- $_registry protected static
Cake\Datasource\ConnectionRegistryConnectionRegistry, используемый менеджером.
Краткое описание методов
-
alias() public static
Устанавливает один или несколько псевдонимов соединений.
-
configured() public static
Возвращает массив, содержащий именованные конфигурации.
-
drop() public static
Удаляет созданный адаптер.
-
dropAlias() public static
Удаляет псевдоним.
-
get() public static
Получить соединение.
-
getConfig() public static
Считывает существующую конфигурацию.
-
getConfigOrFail() public static
Считывает существующую конфигурацию для определенного ключа.
-
getDsnClassMap() public static
Возвращает карту соответствия DSN для данного класса.
-
parseDsn() public static
Парсит DSN в корректную конфигурацию соединения
-
setConfig() public static
Настраивает новый объект соединения.
-
setDsnClassMap() public static
Обновляет карту соответствия DSN для данного класса.
Подробное описание методов
alias() public static
alias(string $alias, string $source): void
Устанавливает один или несколько псевдонимов соединений.
Псевдонимы соединений позволяют переименовать активные соединения без перезаписи алиасированного соединения. Это наиболее полезно в тестовом наборе для замены соединений их тестовой разновидностью.
Определенные псевдонимы будут иметь приоритет над обычными именами соединений. Например, если вы алиасите 'default' на 'test', получение 'default' всегда будет возвращать соединение 'test', пока псевдоним определен.
Вы можете удалить псевдонимы с помощью ConnectionManager::dropAlias().
Использование
// Make 'things' resolve to 'test_things' connection
ConnectionManager::alias('test_things', 'things'); Параметры
-
string$alias Добавляемый псевдоним. Получение $source вернёт $alias при загрузке с помощью get.
-
string$source Соединение, которому нужно добавить псевдоним.
Возвращает
voidИсключения
Cake\Datasource\Exception\MissingDatasourceConfigExceptionПри алиасинге несуществующего соединения.
configured() public static
configured(): string[]
Возвращает массив, содержащий именованные конфигурации
Возвращает
string[]drop() public static
drop(string $config): bool
Удаляет созданный адаптер.
Если вы хотите изменить существующую конфигурацию, вы должны удалить её, изменить конфигурацию и затем добавить её снова.
Если реализующие объекты поддерживают объект $_registry, именованная конфигурация также будет выгружена из реестра.
Параметры
-
string$config Существующая конфигурация, которую вы хотите удалить.
Возвращает
booldropAlias() public static
dropAlias(string $name): void
Удаляет псевдоним.
Удаляет псевдоним из ConnectionManager. Получение алиасированного соединения может завершиться неудачей, если нет другого соединения с этим именем.
Параметры
-
string$name Имя соединения, для которого нужно удалить псевдонимы.
Возвращает
voidget() public static
get(string $name, bool $useAliases = true): Cake\Datasource\ConnectionInterface
Получить соединение.
Если соединение не было построено, экземпляр будет добавлен в реестр. Этот метод будет использовать все определенные псевдонимы. Если вы хотите исходные соединения без алиасов, передайте false в качестве второго параметра.
Параметры
-
string$name Имя соединения.
-
bool$useAliases optional Установите в значение false, чтобы не использовать алиасированные соединения.
Возвращает
Cake\Datasource\ConnectionInterfaceИсключения
Cake\Datasource\Exception\MissingDatasourceConfigExceptionПри отсутствии данных конфигурации.
getConfig() public static
getConfig(string $key): mixed|null
Считывает существующую конфигурацию.
Параметры
-
string$key Имя конфигурации.
Возвращает
mixed|nullgetConfigOrFail() public static
getConfigOrFail(string $key): mixed
Считывает существующую конфигурацию для определенного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Имя конфигурации.
Возвращает
mixedИсключения
InvalidArgumentExceptionЕсли значение не существует.
getDsnClassMap() public static
getDsnClassMap(): string[]
Возвращает карту соответствия DSN для данного класса.
Возвращает
string[]parseDsn() public static
parseDsn(string $config): array
Парсит DSN в корректную конфигурацию соединения
Этот метод позволяет задать DSN с использованием форматирования, аналогичного тому, которое используется PEAR::DB. Ниже приведен пример его использования:
$dsn = 'mysql://user:pass@localhost/database'; $config = ConnectionManager::parseDsn($dsn); $dsn = 'Cake\Database\Driver\Mysql://localhost:3306/database?className=Cake\Database\Connection'; $config = ConnectionManager::parseDsn($dsn); $dsn = 'Cake\Database\Connection://localhost:3306/database?driver=Cake\Database\Driver\Mysql'; $config = ConnectionManager::parseDsn($dsn);
Для всех классов значение scheme устанавливается как значение как для className, так и для driver, если они не были указаны иначе.
Обратите внимание, что параметры запроса также анализируются и устанавливаются как значения в возвращаемой конфигурации.
Параметры
-
string$config Строка DSN для преобразования в массив конфигурации
Возвращает
arraysetConfig() public static
setConfig(string|array $key, array|object|null $config = null): void
Настраивает новый объект соединения.
Соединение не будет построено до его первого использования.
Параметры
-
string|array$key Имя конфигурации соединения, или массив нескольких конфигураций.
-
array|object|null$config optional Массив данных name => config для адаптера.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionПри попытке изменить существующую конфигурацию.
См. также
setDsnClassMap() public static
setDsnClassMap(string[] $map): void
Обновляет карту соответствия DSN для данного класса.
Параметры
-
string[]$map Добавления/изменения в карту классов для применения.
Возвращает
voidПодробности свойства
$_aliasMap protected static
Карта псевдонимов подключений.
Тип
string[]$_config protected static
Наборы конфигурации.
Тип
array$_dsnClassMap protected static
Массив, сопоставляющий схемы URL с полными именами классов драйверов.
Тип
string[]$_registry protected static
ConnectionRegistry, используемый менеджером.
Тип
Cake\Datasource\ConnectionRegistry
© 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.ConnectionManager.html