вторник, 22 июля 2014 г.

Как грамотно настроить среду на стендах разработки

Как правило при разработки используются стенды:
1. develop - У каждого разработчика свой стенд. На нем он разрабатывает фичи для проекта.
2. test - Тестовый стенд, куда переносят разработанные фичи для тестирования.
3. production - Рабочий сайт.

Как в php можно сконфигурировать сервера, чтобы сервер автоматически подключал файлы конфигурации, специфичные для дева, теста и продакшена?

Вот один из возможных методов.

1. Создаем в корне сервера файл .htaccess и указываем в нем переменную для данного стенда:
 SetEnv APPLICATION_ENV develop

Это в том случае, если мы находимся на девелоперском стенде.
Для тестового стенда эта переменная задавалась бы так:
 SetEnv APPLICATION_ENV test

2. В файле конфигурации вашего приложения (к примеру, config.php) теперь можно использовать созданную переменную APPLICATION_ENV:
<?php
switch (getenv('APPLICATION_ENV')) {
    case 'production':
        require_once 'prod.php';
        break;
    case 'testing':
        require_once 'test.php';
        break;
    default:
        require_once 'dev.php';
        break;
}


Как видно, в зависимости от среды происходит подключение файла конфигурации, специфичного для данного стенда.

Другой способ задать переменную окружения - сделать это в php-скрипте, который будет отличаться на каждом из стендов:
//Определяем среду разработки
putenv("APPLICATION_ENV=production"); 

Здесь также в зависимости от среды можно производить подключение нужного файла конфигурации.

Комментариев нет:

Отправить комментарий