Класс ConnectionManager
Управляет и загружает экземпляры Connection
Предоставляет интерфейс для загрузки и создания объектов подключения. Выступает в роли реестра для подключений, определённых в приложении.
Предоставляет интерфейс для загрузки и перечисления подключений, определённых в config/app.php
- Cake\Datasource\ConnectionManager использует Cake\Core\StaticConfigTrait
Подробное описание методов
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|nullNull при добавлении конфигурации и массив данных конфигурации при чтении.
Исключения
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|nullNull при добавлении конфигурации или массив данных конфигурации при чтении.
Исключения
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массив
Краткое описание свойств
Свойства, используемые из Cake\Core\StaticConfigTrait
© 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