Spec-Zone.ru › CakePHP 3.6

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

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

Параметры

строка $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–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.6/class-Cake.Datasource.ConnectionManager.html

Spec-Zone.ru

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