Трейт StaticConfigTrait
Трейт, предоставляющий набор статических методов для управления конфигурацией для классов, предоставляющих фасад адаптера или нуждающихся в регистрации и манипулировании наборами данных конфигурации.
Реализующие объекты должны объявлять статическое свойство $_dsnClassMap.
Прямые известные пользователи
Cake\Cache\Cache, Cake\Datasource\ConnectionManager, Cake\Log\Log, Cake\Mailer\EmailПодробное описание методов
configsource public static
config( string|array $key , array $config null )
Этот метод можно использовать для определения адаптеров конфигурации для приложения или чтения существующей конфигурации.
Чтобы изменить конфигурацию адаптера во время выполнения, сначала удалите адаптер, а затем переконфигурируйте его.
Адаптеры не будут созданы до тех пор, пока не будет выполнено первое действие.
Использование
Предполагая, что имя класса Cache поддерживаются следующие сценарии:
Чтение данных конфигурации обратно:
Cache::config('default');
Настройка движка кеша:
Cache::config('default', $settings);
Ввод в адаптер, который уже был создан:
Cache::config('default', $instance);
Конфигурация нескольких адаптеров одновременно:
Cache::config($arrayOfConfig);
Параметры
- string|array
$key - Имя конфигурации или массив нескольких конфигураций.
- array
$configoptional null - Массив данных конфигурации адаптера в формате имя => конфигурация.
Возвращает
array|nullNull при добавлении конфигурации или массив данных конфигурации при чтении.
Выбрасывает
BadMethodCallExceptionПри попытке изменить существующую конфигурацию.
configuredsource public static
configured( )
Возвращает массив, содержащий указанные конфигурации.
Возвращает
arrayМассив конфигураций.
dropsource public static
drop( string $config )
Удаляет созданный адаптер.
Если вы хотите изменить существующую конфигурацию, вы должны удалить её, изменить конфигурацию и затем повторно добавить её.
Если реализующие объекты поддерживают объект $_registry, указанная конфигурация также будет выгружена из реестра.
Параметры
- string
$config - Существующая конфигурация, которую вы хотите удалить.
Возвращает
booleanУспешность удаления, возвращает false, если конфигурация не существует.
dsnClassMapsource public static
dsnClassMap( array $map null )
Возвращает или обновляет карту классов DSN для этого класса.
Параметры
- array
$mapoptional null - Добавления/изменения в карту классов для применения.
Возвращает
arrayмассив
parseDsnsource 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Если не передана строка
Резюме свойств
© 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.1/class-Cake.Core.StaticConfigTrait.html