Класс 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 )
Читает существующую конфигурацию.
Параметры
- string
$key - Имя конфигурации.
Возвращает
array|nullМассив данных конфигурации.
getDsnClassMap()source public static
getDsnClassMap( )
Возвращает карту классов DSN для этого класса.
Возвращает
arraysetDsnClassMap()source public static
setDsnClassMap( array $map )
Обновляет карту классов DSN для этого класса.
Параметры
- array
$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–2018 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.5/class-Cake.Datasource.ConnectionManager.html