Spec-Zone.ru › CakePHP 3.3

Класс 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
Массив name => config данных для адаптера.

Возвращает

массив|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

The ConnectionRegistry used by the manager.

null

© 2005–2017 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.3/class-Cake.Datasource.ConnectionManager.html

Spec-Zone.ru

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