Класс 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При алиасировании подключения, которого не существует.
config()source public static
config( string|array $key , array|null $config null )
Настроить новый объект подключения.
Подключение не будет создано до его первого использования.
Параметры
- строка|массив
$key - Имя конфигурации подключения или массив нескольких конфигураций.
- массив|null
$configнеобязательно null - Массив name => config данных для адаптера.
Возвращает
массив|nullNull при добавлении конфигурации и массив данных конфигурации при чтении.
Исключения
Cake\Core\Exception\ExceptionПри попытке изменения существующей конфигурации.
См. также
\Cake\Core\StaticConfigTrait::config()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
Используемые методы из Cake\Core\StaticConfigTrait
configured()source public static
configured( )
Возвращает массив, содержащий указанные конфигурации
Возвращает
массивМассив конфигураций.
drop()source public static
drop( string $config )
Удаляет созданный адаптер.
Если вы хотите изменить существующую конфигурацию, вы должны удалить её, изменить конфигурацию, а затем добавить её заново.
Если реализующие объекты поддерживают объект $_registry, имя конфигурации также будет выгружено из реестра.
Параметры
- строка
$config - Существующая конфигурация, которую вы хотите удалить.
Возвращает
булевоУспешность удаления, возвращает false, когда конфигурации не существует.
dsnClassMap()source public static
dsnClassMap( array $map null )
Возвращает или обновляет карту классов DSN для этого класса
Параметры
- массив
$mapнеобязательно null - Добавления/изменения в карту классов для применения
Возвращает
массивПодробное описание свойств
$_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
The ConnectionRegistry used by the manager.
null
© 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.3/class-Cake.Datasource.ConnectionManager.html