Spec-Zone.ru › CakePHP 3.8

Класс ConnectionManager

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

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

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

Cake\Datasource\ConnectionManager использует Cake\Core\StaticConfigTrait
Пространство имён: Cake\Datasource
Расположение: Datasource/ConnectionManager.php

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

  • $_aliasMap protected static
    array
    Карта псевдонимов соединений.
  • $_dsnClassMap protected static
    array
    Массив, сопоставляющий схемы URL с полными именами классов драйверов
  • $_registry protected static
    Cake\Datasource\ConnectionRegistry
    ConnectionRegistry, используемый менеджером.

Наследованные свойства

  • _config

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

  • alias() public static
    Установить один или несколько псевдонимов соединений.
  • dropAlias() public static
    Удалить псевдоним.
  • get() public static
    Получить соединение.
  • parseDsn() public static
    Разбирает DSN в корректную конфигурацию соединения
  • setConfig() public static
    Настроить новый объект соединения.

Подробное описание методов

alias()source public static

alias( string $alias , string $source )

Установить один или несколько псевдонимов соединений.

Псевдонимы соединений позволяют переименовать активные соединения, не перезаписывая сопоставленные соединения. Это наиболее полезно в тестовом наборе для замены соединений их тестовым вариантом.

Определённые псевдонимы будут иметь приоритет над обычными именами соединений. Например, если вы зададите псевдоним «default» как «test», получение «default» всегда вернёт соединение «test», пока псевдоним определён.

Вы можете удалить псевдонимы с помощью ConnectionManager::dropAlias().

Пример использования

// Make 'things' resolve to 'test_things' connection
ConnectionManager::alias('test_things', 'things');

Параметры

строка $alias
Псевдоним для добавления. Получение $source вернёт $alias при загрузке с помощью get.
строка $source
Соединение, которому нужно добавить псевдоним.

Исключения

Cake\Datasource\Exception\MissingDatasourceConfigException

При назначении псевдонима несуществующему соединению.


dropAlias()source public static

dropAlias( string $name )

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

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

Параметры

строка $name
Имя соединения для удаления псевдонимов.

get()source public static

get( string $name , boolean $useAliases = true )

Получить соединение.

Если соединение не было создано, экземпляр будет добавлен в реестр. Этот метод будет использовать любые заданные псевдонимы. Если вам нужны исходные соединения без псевдонимов, передайте false в качестве второго параметра.

Параметры

строка $name
Имя соединения.
логическое значение $useAliases необязательно true
Установите в значение false, чтобы не использовать псевдонимы соединений.

Возвращаемое значение

Cake\Datasource\ConnectionInterface
Объект соединения.

Исключения

Cake\Datasource\Exception\MissingDatasourceConfigException

При отсутствии данных конфигурации.


parseDsn()source public static

parseDsn( string|null $config = null )

Разбирает 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, если они не были заданы иначе.

Обратите внимание, что параметры запроса также анализируются и устанавливаются в качестве значений в возвращаемой конфигурации.

Параметры

строка|null $config необязательно null
Строка DSN для преобразования в массив конфигурации

Возвращаемое значение

массив
Массив конфигурации для хранения после анализа DSN

setConfig()source public static

setConfig( string|array $key , array|null $config = null )

Настроить новый объект соединения.

Соединение не будет создано до первого использования.

Параметры

строка|массив $key
Имя конфигурации соединения или массив с несколькими конфигурациями.
массив|null $config необязательно null
Массив имён => данных конфигурации для адаптера.

Исключения

Cake\Core\Exception\Exception
При попытке изменить существующую конфигурацию.

См. также

\Cake\Core\StaticConfigTrait::config()

Методы, используемые из Cake\Core\StaticConfigTrait

config()source public static deprecated

config( string|array $key , array|null $config = null )

Этот метод может использоваться для определения адаптеров конфигурации для приложения или чтения существующей конфигурации.

Чтобы изменить конфигурацию адаптера во время выполнения, сначала удалите адаптер, а затем переконфигурируйте его.

Адаптеры не будут созданы до первого выполнения операции.

Пример использования

Предполагая, что имя класса Cache поддерживаются следующие сценарии:

Чтение данных конфигурации:

Cache::config('default');

Настройка кеша.

Cache::config('default', $settings);

Ввод созданного адаптера:

Cache::config('default', $instance);

Настройка нескольких адаптеров одновременно:

Cache::config($arrayOfConfig);

Устарело

3.4.0 Используйте setConfig()/getConfig() вместо этого.

Параметры

строка|массив $key
Имя конфигурации или массив с несколькими конфигурациями.
массив|null $config необязательно null
Массив имён => данных конфигурации для адаптера.

Возвращаемое значение

массив|null
Null при добавлении конфигурации или массив данных конфигурации при чтении.

Исключения

BadMethodCallException
При попытке изменить существующую конфигурацию.

configured()source public static

configured( )

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

Возвращаемое значение

строка[]
Массив конфигураций.

drop()source public static

drop( string $config )

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

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

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

Параметры

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

Возвращаемое значение

логическое значение
Успешность удаления, возвращает false, если конфигурация не существует.

dsnClassMap()source public static deprecated

dsnClassMap( array $map = null )

Возвращает или обновляет карту классов DSN для данного класса.

Устарело

3.4.0 Используйте setDsnClassMap()/getDsnClassMap() вместо этого.

Параметры

массив $map необязательно null
Добавления/изменения в карту классов для применения.

Возвращаемое значение

массив
END_OF_DOCUMENT_MARKER

getConfig()source public static

getConfig( string $key )

Считывает существующую конфигурацию.

Параметры

string $key
Имя конфигурации.

Возвращает

mixed
Данные конфигурации по указанному ключу или null, если ключ не существует.

getDsnClassMap()source public static

getDsnClassMap( )

Возвращает карту классов DSN для данного класса.

Возвращает

array

setDsnClassMap()source public static

setDsnClassMap( array $map )

Обновляет карту классов DSN для данного класса.

Параметры

array $map
Добавления/изменения в карту классов для применения.

Подробное описание свойств

$_aliasMapsource

protected static array

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

[]

$_dsnClassMapsource

protected static array

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

Возвращает

array
[
    'mysql' => 'Cake\Database\Driver\Mysql',
    'postgres' => 'Cake\Database\Driver\Postgres',
    'sqlite' => 'Cake\Database\Driver\Sqlite',
    'sqlserver' => 'Cake\Database\Driver\Sqlserver',
]

$_registrysource

protected static Cake\Datasource\ConnectionRegistry

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/3.8/class-Cake.Datasource.ConnectionManager.html

Spec-Zone.ru

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