Spec-Zone.ru › CakePHP 4.2

Класс ConnectionManager

Управляет и загружает экземпляры Connection

Предоставляет интерфейс для загрузки и создания объектов подключения. Выступает в роли реестра для подключений, определенных в приложении.

Предоставляет интерфейс для загрузки и перечисления подключений, определенных в config/app.php

Пространство имен: Cake\Datasource

Краткое описание свойств

  • $_aliasMap protected static
    string[]

    Карта псевдонимов подключений.

  • $_config protected static
    array

    Наборы конфигурации.

  • $_dsnClassMap protected static
    string[]

    Массив, сопоставляющий схемы URL полным именам классов драйверов.

  • $_registry protected static
    Cake\Datasource\ConnectionRegistry

    ConnectionRegistry, используемый менеджером.

Краткое описание методов

  • 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

Существующая конфигурация, которую вы хотите удалить.

Возвращает

bool

dropAlias() public static

dropAlias(string $name): void

Удаляет псевдоним.

Удаляет псевдоним из ConnectionManager. Получение алиасированного соединения может завершиться неудачей, если нет другого соединения с этим именем.

Параметры

string $name

Имя соединения, для которого нужно удалить псевдонимы.

Возвращает

void

get() 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|null

getConfigOrFail() 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 для преобразования в массив конфигурации

Возвращает

array

setConfig() 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
При попытке изменить существующую конфигурацию.

См. также

\Cake\Core\StaticConfigTrait::config()

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API