Класс 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 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 - Массив пар "имя" => "данные конфигурации" для адаптера.
Возвращает
массив|nullNull при добавлении конфигурации или массив данных конфигурации при чтении.
Исключения
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 - Добавления/изменения в карту классов для применения.
Возвращает
массивgetConfig()source public static
getConfig( string $key )
Читает существующую конфигурацию.
Параметры
- строка
$key - Имя конфигурации.
Возвращаемое значение
массив|nullМассив данных конфигурации.
getDsnClassMap()source public static
getDsnClassMap( )
Возвращает карту классов DSN для данного класса.
Возвращаемое значение
массивsetDsnClassMap()source public static
setDsnClassMap( array $map )
Обновляет карту классов DSN для данного класса.
Параметры
- массив
$map - Добавления/изменения в карту классов для применения.
Подробности свойств
$_dsnClassMapsource
protected static массив
Массив, сопоставляющий схемы URL с полными именами классов драйверов.
Возвращаемое значение
массив[
'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.7/class-Cake.Datasource.ConnectionManager.html