Spec-Zone.ru › CakePHP 4.3

Класс ConnectionManager

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

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

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

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

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

  • $_aliasMap protected static
    array<string>

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

  • $_config protected static
    array<string, mixed>

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

  • $_dsnClassMap protected static
    array<string, 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 $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.

Возвращает

void

configured() public static

configured(): array<string>

Возвращает массив, содержащий именованные конфигурации

Возвращает

array<string>

drop() public static

drop(string $config): bool

Удаляет созданный адаптер.

Если вы хотите изменить существующую конфигурацию, вы должны удалить ее, изменить конфигурацию, а затем снова добавить.

Если реализующие объекты поддерживают объект $_registry, то именованная конфигурация также будет загружена из реестра.

Параметры

string $config

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

Возвращает

bool

dropAlias() public static

dropAlias(string $alias): void

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

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

Параметры

string $alias

Псевдоним подключения для удаления

Возвращает

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

См. также

\Cake\Core\StaticConfigTrait::config()

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

Spec-Zone.ru

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