-
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