Трейт StaticConfigTrait
Трейт, предоставляющий набор статических методов для управления конфигурацией для классов, которые предоставляют фасад адаптера или нуждаются в регистрации и манипулировании наборами данных конфигурации.
Ожидается, что реализующие объекты объявят статическое $_dsnClassMap свойство.
Прямые пользователи
- Cake\Cache\Cache
- Cake\Datasource\ConnectionManager
- Cake\Log\Log
- Cake\Mailer\Email
- Cake\Mailer\TransportFactory
Краткое описание свойств
- Наборы конфигурации.
array
Краткое описание методов
-
Этот метод может использоваться для определения адаптеров конфигурации для приложения или чтения существующей конфигурации.
- Возвращает массив, содержащий именованные конфигурации
- Удаляет созданный адаптер.
- Возвращает или обновляет карту классов DSN для этого класса.
- Читает существующую конфигурацию.
- Возвращает карту классов DSN для этого класса.
- Разбирает DSN в корректную конфигурацию соединения
- Этот метод может использоваться для определения адаптеров конфигурации для приложения.
- Обновляет карту классов DSN для этого класса.
Подробное описание методов
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() вместо этого.Параметры
- string|array
$key - Имя конфигурации или массив нескольких конфигураций.
- array|null
$configнеобязательно null - Массив с именем => данными конфигурации для адаптера.
Возвращает
array|nullNull при добавлении конфигурации или массив данных конфигурации при чтении.
Исключения
BadMethodCallExceptionПри попытке изменить существующую конфигурацию.
configured()source public static
configured( )
Возвращает массив, содержащий именованные конфигурации
Возвращает
string[]Массив конфигураций.
drop()source public static
drop( string $config )
Удаляет созданный адаптер.
Если вы хотите изменить существующую конфигурацию, удалите её, измените конфигурацию, а затем добавьте её заново.
Если реализующие объекты поддерживают $_registry объект, именованная конфигурация также будет выгружена из реестра.
Параметры
- string
$config - Существующая конфигурация, которую вы хотите удалить.
Возвращает
booleanУспешность удаления, возвращает false, когда конфигурация не существует.
dsnClassMap()source public static deprecated
dsnClassMap( array $map = null )
Возвращает или обновляет карту классов DSN для этого класса.
Устарело
3.4.0 Используйте setDsnClassMap()/getDsnClassMap() вместо этого.Параметры
- array
$mapнеобязательно null - Добавления/изменения в карту классов для применения.
Возвращает
arraygetConfig()source public static
getConfig( string $key )
Читает существующую конфигурацию.
Параметры
- string
$key - Имя конфигурации.
Возвращает
mixedДанные конфигурации по указанному ключу или null, если ключ не существует.
getDsnClassMap()source public static
getDsnClassMap( )
Возвращает карту классов DSN для этого класса.
Возвращает
arrayparseDsn()source public static
parseDsn( string $dsn )
Разбирает DSN в корректную конфигурацию соединения
Этот метод позволяет задать DSN с использованием форматирования, аналогичного используемому PEAR::DB. Вот пример его использования:
$dsn = 'mysql://user:pass@localhost/database?'; $config = ConnectionManager::parseDsn($dsn); $dsn = 'Cake\Log\Engine\FileLog://?types=notice,info,debug&file=debug&path=LOGS'; $config = Log::parseDsn($dsn); $dsn = 'smtp://user:secret@localhost:25?timeout=30&client=null&tls=null'; $config = Email::parseDsn($dsn); $dsn = 'file:///?className=\My\Cache\Engine\FileEngine'; $config = Cache::parseDsn($dsn); $dsn = 'File://?prefix=myapp_cake_core_&serialize=true&duration=+2 minutes&path=/tmp/persistent/'; $config = Cache::parseDsn($dsn);
Для всех классов значение scheme устанавливается как значение для className, если не указано иное.
Обратите внимание, что аргументы запроса также анализируются и устанавливаются как значения в возвращаемой конфигурации.
Параметры
- string
$dsn - Строка DSN для преобразования в массив конфигурации
Возвращает
arrayМассив конфигурации для хранения после анализа DSN
Исключения
InvalidArgumentExceptionЕсли в качестве параметра передано не строка или некорректная строка
setConfig()source public static
setConfig( string|array $key , array $config = null )
Этот метод может использоваться для определения адаптеров конфигурации для приложения.
Для изменения конфигурации адаптера во время выполнения сначала необходимо удалить адаптер, а затем переконфигурировать его.
Адаптеры не будут созданы до выполнения первого действия.
Использование
Предполагая, что имя класса Cache поддерживаются следующие сценарии:
Установка движка кэша:
Cache::setConfig('default', $settings); Вставка созданного адаптера:
Cache::setConfig('default', $instance); Конфигурирование нескольких адаптеров одновременно:
Cache::setConfig($arrayOfConfig);
Параметры
- string|array
$key - Имя конфигурации или массив нескольких конфигураций.
- array
$configнеобязательно null - Массив с именем => данными конфигурации для адаптера.
Исключения
BadMethodCallExceptionПри попытке изменить существующую конфигурацию.
LogicException
При попытке сохранить массив конфигурации с неверной структурой.
setDsnClassMap()source public static
setDsnClassMap( array $map )
Обновляет карту классов DSN для этого класса.
Параметры
- array
$map - Добавления/изменения в карту классов для применения.
Подробное описание свойств
© 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.Core.StaticConfigTrait.html