Spec-Zone.ru › CakePHP 3.1

Класс ConnectionManager

Управляет и загружает экземпляры Connection

Предоставляет интерфейс для загрузки и создания объектов подключения. Выступает в роли реестра для подключений, определённых в приложении.

Предоставляет интерфейс для загрузки и перечисления подключений, определённых в config/app.php

Cake\Datasource\ConnectionManager использует Cake\Core\StaticConfigTrait
Пространство имён: Cake\Datasource
Расположено в Datasource/ConnectionManager.php

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

aliassource public static

alias( string $from , string $to )

Устанавливает один или несколько псевдонимов подключения.

Псевдонимы подключений позволяют переименовать активные подключения без перезаписи подключений с псевдонимами. Это наиболее полезно в наборе тестов для замены подключений их тестовыми вариантами.

Определённые псевдонимы будут иметь приоритет над обычными именами подключений. Например, если вы назначили псевдоним 'default' как 'test', получение 'default' всегда будет возвращать подключение 'test', пока псевдоним определён.

Вы можете удалить псевдонимы с помощью ConnectionManager::dropAlias().

Параметры

строка $from
Подключение, которому нужно добавить псевдоним.
строка $to
Псевдоним для создания. $from должен возвращаться при загрузке с помощью get().

Исключения

Cake\Datasource\Exception\MissingDatasourceConfigException
При назначении псевдонима несуществующему подключению.

configsource public static

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

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

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

Параметры

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

Возвращает

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

Исключения

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

См. также

Cake\Core\StaticConfigTrait::config()

dropAliassource public static

dropAlias( string $name )

Удаляет псевдоним.

Удаляет псевдоним из ConnectionManager. Получение подключенного псевдонима может завершиться ошибкой, если нет другого подключения с таким именем.

Параметры

строка $name
Имя подключения, для которого нужно удалить псевдонимы.

getsource public static

get( string $name , boolean $useAliases true )

Получить подключение.

Если подключение не было создано, экземпляр будет добавлен в реестр. Этот метод будет использовать любые определённые псевдонимы. Если вы хотите получить оригинальное подключение без псевдонимов, передайте false в качестве второго параметра.

Параметры

строка $name
Имя подключения.
логическое значение $useAliases необязательно true
Установите в false, чтобы не использовать псевдонимы подключений.

Возвращает

Cake\Datasource\ConnectionInterface
Объект подключения.

Исключения

Cake\Datasource\Exception\MissingDatasourceConfigException
При отсутствии данных конфигурации.

parseDsnsource 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 для преобразования в массив конфигурации

Возвращает

array
Массив конфигурации для хранения после анализа DSN

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

_configsource protected static

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

Этот метод можно использовать для определения адаптеров конфигурации для приложения или чтения существующей конфигурации.

Чтобы изменить конфигурацию адаптера во время выполнения, сначала удалите адаптер, а затем перенастройте его.

Адаптеры не будут созданы до выполнения первого действия.

Использование

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

Чтение данных конфигурации обратно:

Cache::config('default');

Настройка механизма кэширования.

Cache::config('default', $settings);

Ввод в систему сконструированного адаптера:

Cache::config('default', $instance);

Настройка сразу нескольких адаптеров:

Cache::config($arrayOfConfig);

Параметры

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

Возвращает

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

Исключения

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

_parseDsnsource protected static

_parseDsn( string $dsn )

Разбирает DSN в корректную конфигурацию подключения

Этот метод позволяет установить DSN, используя формат, похожий на используемый PEAR::DB. Вот пример его использования:

$dsn = 'mysql://user:pass@localhost/database?';
$config = ConnectionManager::parseDsn($dsn);

$dsn = 'Cake\Log\Engine\FileLog://?types=notice,info,debug&file=debug&path=LOGS';
$config = Log::parseDsn($dsn);

$dsn = 'smtp://user:secret@localhost:25?timeout=30&client=null&tls=null';
$config = Email::parseDsn($dsn);

$dsn = 'file:///?className=\My\Cache\Engine\FileEngine';
$config = Cache::parseDsn($dsn);

$dsn = 'File://?prefix=myapp_cake_core_&serialize=true&duration=+2 minutes&path=/tmp/persistent/';
$config = Cache::parseDsn($dsn);

Для всех классов значение scheme устанавливается как значение и для className, если не указано иначе.

Обратите внимание, что параметры запроса также анализируются и устанавливаются как значения в возвращаемой конфигурации.

Параметры

строка $dsn
Строка DSN для преобразования в массив конфигурации

Возвращает

array
Массив конфигурации для хранения после анализа DSN

Исключения

InvalidArgumentException
Если введено не строка

configuredsource public static

configured( )

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

Возвращает

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

dropsource public static

drop( string $config )

Удаляет сконструированный адаптер.

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

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

Параметры

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

Возвращает

boolean
Успешность удаления, возвращает false, когда конфигурация не существует.

dsnClassMapsource public static

dsnClassMap( array $map null )

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

Параметры

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

Возвращает

array
массив

Краткое описание свойств

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

null

Свойства, используемые из Cake\Core\StaticConfigTrait

$_configsource

protected static array

Наборы конфигураций.

[]

© 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.1/class-Cake.Datasource.ConnectionManager.html

Spec-Zone.ru

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