Spec-Zone.ru › CakePHP 3.2

Класс 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
    Устанавливает один или несколько псевдонимов подключений.
  • config() public static
    Настраивает новый объект подключения.
  • dropAlias() public static
    Удаляет псевдоним.
  • get() public static
    Получает подключение.
  • parseDsn() public static
    Разбирает DSN в корректную конфигурацию подключения.

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

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

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


config()source public static

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

Настраивает новый объект подключения.

Подключение не будет построено до его первого использования.

Параметры

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

Возвращает

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

Исключения

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

См. также

\Cake\Core\StaticConfigTrait::config()

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

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

configured()source public static

configured( )

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

Возвращает

массив
Массив конфигураций.

drop()source public static

drop( string $config )

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

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

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

Параметры

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

Возвращает

булево
Результат удаления, возвращает false, если конфигурация не существует.

dsnClassMap()source public static

dsnClassMap( array $map null )

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

Параметры

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

Возвращает

массив

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

$_aliasMapsource

protected static массив

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

[]

$_dsnClassMapsource

protected static массив

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

Возвращает

массив
[
    '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, используемый менеджером.

null

© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.Datasource.ConnectionManager.html

Spec-Zone.ru

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