Класс 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 - Имя конфигурации.
Возвращает
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–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.6/class-Cake.Datasource.ConnectionManager.html