Класс ConnectionManager
Управляет и загружает экземпляры Connection
Предоставляет интерфейс для загрузки и создания объектов подключения. Выступает в роли реестра для подключений, определённых в приложении.
Предоставляет интерфейс для загрузки и перечисления подключений, определённых в config/app.php
- Cake\Datasource\ConnectionManager использует Cake\Core\StaticConfigTrait
Краткое описание свойств
- Карта псевдонимов подключений.
array - Массив, сопоставляющий схемы URL с полными именами классов драйверов.
array - ConnectionRegistry, используемый менеджером.
Унаследованные свойства
Краткое описание методов
- Устанавливает один или несколько псевдонимов подключения.
- Удаляет псевдоним.
- Получает подключение.
- Парсит DSN в корректную конфигурацию подключения.
- Настраивает новый объект подключения.
Подробное описание методов
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 - Массив пар имя => данные конфигурации для адаптера.
Возвращает
массив|nullNull при добавлении конфигурации или массив данных конфигурации при чтении.
Исключения
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 - Добавления/изменения в карту классов для применения.
Возвращает
массивgetConfig()source public static
getConfig( string $key )
Читает существующую конфигурацию.
Параметры
- строка
$key - Имя конфигурации.
Возвращает
array|nullМассив данных конфигурации.
getDsnClassMap()source public static
getDsnClassMap( )
Возвращает карту классов DSN для данного класса.
Возвращает
arraysetDsnClassMap()source public static
setDsnClassMap( array $map )
Обновляет карту классов DSN для данного класса.
Параметры
- массив
$map - Дополнения/изменения в карте классов для применения.
Подробное описание свойств
$_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