Настройка локальной и рабочей сред для разработки на CodeIgniter (2-й вариант)

Настройка локальной и рабочей сред для разработки на CodeIgniter (2-й вариант) Просто ещё один вариант настройки приложения в codeigniter. Удобно иметь на локальной машине копию проекта и работать только с ней, а когда что-то готово для переноса на рабочий сайт, с лёгкостью опубликвать локальную версию. Покажем как настроить удобную связку CodeIgniter+MAMP

Внимание: начиная с версии 2.0.1 разработчики сами добавили в систему настройку сред. Желательно обратиться к документации и делать как они советуют. Эта статья актуальна для версий до 2.0.1.

В этой статье мы уже этим занимались, здесь просто немного другой, более продуманный способ.

Два файла, которые изменяются при смене среды с локальной на рабочую и обратно - config.php и  database.php, оба в папке /system/application/config/. Изменить надо переменные $config[‘base_url’] и $active_group.

В файле constants.php, расположенном в /system/application/config/ создадим ещё постоянную, основанную на HTTP_HOST. Это автоматически сконфигурирует переменные в обоих нужных нам файлах.

/system/application/config/constants.php
if ( $_SERVER[ ‘HTTP_HOST’] == ‘localhost:8888’)
{
   define( ‘ENVIRO’, ‘dev’);
}
elseif ( $_SERVER[ ‘HTTP_HOST’] == ‘staging.caseyohara.com’)
{
   define( ‘ENVIRO’, ‘staging’);
}  
elseif ( $_SERVER[ ‘HTTP_HOST’] == ‘caseyohara.com’ )
{
   define( ‘ENVIRO’, ‘production’);
}  


Теперь в config.php:
/system/application/config/config.php
if(ENVIRO== ‘dev’)
{
   $config[ ‘base_url’] = “http://localhost:8888/caseyohara.com/”;
} 
elseif (ENVIRO== ‘staging’)
{
   $config[ ‘base_url’] = “http://staging.caseyohara.com”;  
}
elseif (ENVIRO== ‘production’)
{
   $config[ ‘base_url’] = “http://www.caseyohara.com/”; 
}
И в файле database.php меняем переменную $active_group так, чтобы она зависела от ENVIRO.

/system/application/config/database.php

$active_group = ENVIRO;

Всё, теперь приложение само узнаёт локально ли оно или на сервере работает.

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (0)     Подпишитесь на RSS комментариев к этой статье.