- Получить возможность удобно изменять какую конфигурацию в данный момент использовать
- Иметь возможность наследовать конфигурации
- Без лишних телодвижений иметь локальные настройки, которые не будет конфликтовать с настройками других разработчиков
Пример использования
Сохраняем файл FConfig.php в папку extensions своего приложения.
Пример содержания файла index.php:
Код: Выделить всё
<?php
$yii = 'yii/framework/yii.php';
// remove the following lines when in production mode
defined('YII_DEBUG') or define('YII_DEBUG', true);
// specify how many levels of call stack should be shown in each log message
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);
require_once($yii);
Yii::createWebApplication(array(
'basePath' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'protected',
'behaviors' => array(
'fconfig' => array(
'class' => 'ext.FConfig',
'currentConfig' => 'dev',
'configs' => array(
'dev' => array(
'parent' => 'main',
),
'production' => array(
'parent' => 'main',
),
),
),
),
))->loadConfigure()->run();
Конфиги вида *_local.php подгружаются автоматически при загрузке соответствующего файла.
Если есть идеи по дополнению/улучшению, я с удовольствием рассмотрю)