Несколько конфигураций в YII 1.x.x

Ромчик
0

Фреймворк YIIДоброго времени суток. В данной статье я расскажу как в фреймворке yii использовать несколько конфигураций. Как мы знаем конфигурации приложения использующего yii находятся в папке protected/config. А основная конфигурация находится в файле main.php.

Основной файл, который запускается при инициализации приложения index.php, который находится в корне Вашего проекта и имеет следующий вид:


//change the following paths if necessary 

$yii=dirname(__FILE__).'/core/yii.php';

$config=dirname(__FILE__).'/protected/config/main.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($config)->run();

где:

  1. В переменную $yii мы помещаем путь к ядру нашего фреймворка
  2. В переменную $config мы помещаем путь к основному файлу конфигурации
  3. Далее задаем константу YII_DEBUG и присваиваем ей значение true. Это необходимо для того, чтобы во время отладки нам показывалось больше информации об ошибке.
  4. Задаем константу YII_TRACE_LEVEL, которая определяет количество слоев каждого стека вызова, которое должно быть записано.

 

Как видим константы YII_DEBUG и YII_TRACE_LEVEL необходимы только во время разработки. А также и некоторая конфигурация в самом файле конфига main.php нам необходима только в режиме development. Например, модуль gii. Поэтому давайте нашу конфигурацию разобьем на несколько файлов: одна для режима разработки, а вторая для продакшен режима. Для этого в папке protected скопируем файл main.php с названием dev.php. В файле main.php будет находится конфигурация для продакшен режима, а в файле dev.php – для режима разработки.

Теперь немного изменим файл index.php, который находится в корне нашего проекта.


// change the following paths if necessary

$yii=dirname(__FILE__).'/core/yii.php';

define('DEV', true);

if (DEV) {

    $config=dirname(__FILE__).'/protected/config/dev.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);

} else {

    $config=dirname(__FILE__).'/protected/config/main.php';

}

require_once($yii);

Yii::createWebApplication($config)->run();

Что мы сделали?

Ввели новую константу DEV, которой присваиваем значение false или true. Если DEV равна true, то мы включаем режим разработки и тогда в качестве основного файла конфигурации будет использоваться файл dev.php, а также будут определены константы YII_DEBUG и YII_TRACE_LEVEL. В противном случае будет включен режим продакшен, который использует в качестве основного файла конфигурации main.php. Таким образом мы с Вами сделали две конфигурации нашего приложения для development режима и для production режима.

 

 

 

 

 

 

Понравилась статья? Поделись с друзьями.
  • Add to favorites
  • Добавить ВКонтакте заметку об этой странице
  • Twitter
  • Facebook
  • Мой Мир
  • LiveJournal
  • Одноклассники
  • Блог Я.ру
  • MySpace
  • FriendFeed
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • Reddit
  • StumbleUpon
  • Technorati
  • del.icio.us
  • БобрДобр
  • LinkedIn
  • Memori.ru
  • Сто закладок
  • Blogger

©2012-2020 По всем вопросам обращайтесь через форму обратной связиПолитика конфиденциальности

Яндекс.Метрика