-
Notifications
You must be signed in to change notification settings - Fork 39
Config
с версии 0.5.0 изменилась структура конфигурационных файлов
с версии 0.6.0 изменился способ вызова - теперь только через Proxy, требует инициализацию Application
с версии 7.9.0 в пакете выделен загрузчик, конфиг использует
Container
Пакет Config отвечает за загрузку и объединение конфигурационных файлов всей системы.
Работает следующим образом:
- всегда подгружаются конфигурационные файлы из
'/configs/default/' - если существует директория текущего окружения (
'/configs/'. getenv('BLUZ_ENV')), то данные конфигурации также подгружаются и перетирает значение конфигурации по умолчанию (т.е. фактически происходит мёрж двух массивов)
Пример структуры:
\configs\
|-- default\
| |-- cache.php
| |-- db.php
| |-- mailer.php
| `-- etc.php
|-- production\
| `-- db.php
|-- testing\
| |-- cache.php
| `-- mailer.php
`-- %env%\
`-- %section%.php
Конфигурация модулей работает следующим образом:
- всегда подгружается конфигурация модуля из
'/modules/%module%/config.php' - если в глобальном объединенном конфиге есть секция
module.%module%то эти данные мёржаться
Пример структуры:
\modules\
`-- media
`-- config.php
\configs\
|-- default\
| `-- module.media.php
`-- production\
`-- module.media.php
В данном примере загружается конфигурация media\config.php в неё происходит мерж объединенной конфигурации default\module.media.php + production\module.media.php (при условии окружения production)
Для указания подключаемого файла конфигурации в skeleton используется переменная окружения BLUZ_ENV
Пакет Config работает только на чтение конфигурации:
Config::get('db'); // >> array(..)
Config::get('db', 'host'); // >> "localhost"Для чтения конфигурации модулей:
Config::get('module.media'); // >> array(..)
Config::get('module.media', 'upload'); // >> "public/upload"Загрузчик конфигов имеет следующие методы:
-
setPath($path)- указывает директорию, в которой находится папкаconfigs -
setEnvironment($environment)- задаём текущие окружение -
load()- инициализации - подгружает конфигурации по умолчанию, и объединяет её с конфигурацией окружения
Сам конфиг используется трейты Bluz\Common\Container\Container и Bluz\Common\Container\RegularAccess, изменения внесены лишь в один метод get:
-
get(... $keys)- возвращает текущую конфигурацию системы, полностью, либо указанный узел
Acl
Application
Auth
Cache
Common
— Exception
— Collection
— Container
— Helper
— Options
— Singleton
Config
Controller
— Data
— Mapper
—— Crud
—— Rest
— Reflection
Crud
— Crud Table
Db
— Row
— Table
— Relations
— Query
Debug
EventManager
Grid
Http
Layout
Logger
Mailer
Messages
Nil
Proxy
Registry
Request
Response
Router
Session
Translator
Validator
View