Класс 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 )
Считывает существующую конфигурацию.
Параметры
- string
$key - Имя конфигурации.
Возвращает
mixedДанные конфигурации по указанному ключу или 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–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.8/class-Cake.Datasource.ConnectionManager.html