Spec-Zone.ru › CakePHP 3.5

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

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

Параметры

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

Возвращает

array|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–2018 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.5/class-Cake.Datasource.ConnectionManager.html

Spec-Zone.ru

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