Трейт StaticConfigTrait
Трейт, предоставляющий набор статических методов для управления конфигурацией классов, предоставляющих фасад адаптера или которым требуется регистрация и манипулирование наборами данных конфигурации.
Ожидается, что реализующие объекты объявят статическое свойство $_dsnClassMap.
Прямые пользователи
Краткое описание свойств
- Наборы конфигурации.
array
Краткое описание методов
-
Этот метод может использоваться для определения адаптеров конфигурации для приложения или чтения существующей конфигурации.
- Возвращает массив, содержащий именованные конфигурации
- Удаляет сконструированный адаптер.
- Возвращает или обновляет карту классов DSN для данного класса
- Разбирает DSN в корректную конфигурацию подключения
Подробное описание методов
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);
Параметры
- строка|массив
$key - Имя конфигурации или массив нескольких конфигураций.
- массив|null
$configнеобязательно null - Массив имён => данных конфигурации для адаптера.
Возвращаемое значение
массив|nullNull при добавлении конфигурации или массив данных конфигурации при чтении.
Исключения
BadMethodCallExceptionПри попытке изменить существующую конфигурацию.
configured()source public static
configured( )
Возвращает массив, содержащий именованные конфигурации
Возвращаемое значение
массивМассив конфигураций.
drop()source public static
drop( string $config )
Удаляет сконструированный адаптер.
Если вы хотите изменить существующую конфигурацию, необходимо удалить её, изменить конфигурацию, а затем повторно добавить.
Если реализующий объект поддерживает объект $_registry, именованная конфигурация также будет выгружена из реестра.
Параметры
- строка
$config - Существующая конфигурация, которую нужно удалить.
Возвращаемое значение
booleanРезультат удаления, возвращает false, если конфигурация не существует.
dsnClassMap()source public static
dsnClassMap( array $map null )
Возвращает или обновляет карту классов DSN для данного класса
Параметры
- массив
$mapнеобязательно null - Добавления/изменения в карте классов для применения
Возвращаемое значение
массивparseDsn()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, если не указано иное.
Обратите внимание, что аргументы строки запроса также анализируются и устанавливаются как значения в возвращаемой конфигурации.
Параметры
- строка
$dsn - Строка DSN для преобразования в массив конфигурации
Возвращаемое значение
массивМассив конфигурации для хранения после разбора DSN
Исключения
InvalidArgumentExceptionЕсли передано не строка
Подробное описание свойств
© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.Core.StaticConfigTrait.html