Spec-Zone.ru › CakePHP 3.4

Класс 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

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

dsnClassMap( array $map null )

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

Устарело

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

Параметры

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

Возвращает

массив
END_OF_DOCUMENT_MARKER

getConfig()source public static

getConfig( string $key )

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

Параметры

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

Возвращает

array|null
Массив данных конфигурации.

getDsnClassMap()source public static

getDsnClassMap( )

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

Возвращает

array

setDsnClassMap()source public static

setDsnClassMap( array $map )

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

Параметры

массив $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–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.4/class-Cake.Datasource.ConnectionManager.html

Spec-Zone.ru

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