Класс ConnectionManager
Управляет и загружает экземпляры Connection
Предоставляет интерфейс для загрузки и создания объектов подключения. Выступает в роли реестра для подключений, определенных в приложении.
Предоставляет интерфейс для загрузки и перечисления подключений, определенных в config/app.php
Краткое описание свойств
- $_aliasMap protected static
array<string>Карта псевдонимов подключений.
- $_config protected static
array<string, mixed>Наборы конфигурации.
- $_dsnClassMap protected static
array<string, 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 $source, string $alias): void
Устанавливает один или несколько псевдонимов подключения.
Псевдонимы подключения позволяют переименовывать активные подключения, не перезаписывая подключение с псевдонимом. Это наиболее полезно в наборе тестов для замены подключений их тестовыми вариантами.
Определенные псевдонимы будут иметь приоритет над обычными именами подключений. Например, если вы зададите псевдоним 'default' как 'test', получение 'default' всегда будет возвращать подключение 'test', пока псевдоним определен.
Вы можете удалить псевдонимы с помощью ConnectionManager::dropAlias().
Использование
// Make 'things' resolve to 'test_things' connection
ConnectionManager::alias('test_things', 'things'); Параметры
-
string$source Существующее подключение для присвоения псевдонима.
-
string$alias Имя псевдонима, которое разрешается на
$source.
Возвращает
voidconfigured() public static
configured(): array<string>
Возвращает массив, содержащий именованные конфигурации
Возвращает
array<string>drop() public static
drop(string $config): bool
Удаляет созданный адаптер.
Если вы хотите изменить существующую конфигурацию, вы должны удалить ее, изменить конфигурацию, а затем снова добавить.
Если реализующие объекты поддерживают объект $_registry, то именованная конфигурация также будет загружена из реестра.
Параметры
-
string$config Существующая конфигурация, которую вы хотите удалить.
Возвращает
booldropAlias() public static
dropAlias(string $alias): void
Удаляет псевдоним.
Удаляет псевдоним из ConnectionManager. Получение подключение с псевдонимом может завершиться ошибкой, если нет другого подключения с таким именем.
Параметры
-
string$alias Псевдоним подключения для удаления
Возвращает
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(): array<string, string>
Возвращает карту классов DSN для этого класса.
Возвращает
array<string, string>parseDsn() public static
parseDsn(string $config): array<string, mixed>
Парсит 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 для преобразования в массив конфигурации
Возвращает
array<string, mixed>setConfig() public static
setConfig(array<string, mixed>|string $key, object|array<string, mixed>|null $config = null): void
Настроить новый объект подключения.
Подключение не будет построено, пока оно не будет использовано впервые.
Параметры
-
array<string, mixed>|string$key Имя конфигурации подключения или массив нескольких конфигураций.
-
object|array<string, mixed>|null$config optional Массив данных имени => конфигурации для адаптера.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionПри попытке изменить существующую конфигурацию.
См. также
setDsnClassMap() public static
setDsnClassMap(array<string, string> $map): void
Обновляет карту классов DSN для этого класса.
Параметры
-
array<string, string>$map Добавления/изменения в карту классов для применения.
Возвращает
voidПодробности свойства
$_aliasMap protected static
Карта псевдонимов подключений.
Тип
array<string>$_config protected static
Наборы конфигурации.
Тип
array<string, mixed>$_dsnClassMap protected static
Массив, сопоставляющий схемы URL с полными именами классов драйверов.
Тип
array<string, 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.3/class-Cake.Datasource.ConnectionManager.html