Полный цикл в digital

Организации Environment

Один из альтернативных и наиболее удобных способов организовать настройку environment в Bitrix, это воспользоваться пакетом vlucas/phpdotenv. Он удобен тем, что хранит все параметры (изменяемые, в зависимости от окружения) в одном маленьком файле .env, с простым и понятным синтаксисом.

Для начала нужно установить пакет vlucas/phpdotenv через composer:

composer require vlucas/phpdotenv

Файл с настройками нужно создать в корневом каталоге сайта:

  1. .env.example копия .env, который хранится в Git, не используется в приложении и содержит лишь возможные примерные настройки, служит как подсказка для разработчиков, чтобы они знали как настроить окружение и сосздать себе свой рабочий .env файл
  2. .env файл который не хранится в Git, и содержит специальные настройки под конкретное окружение

Поскольку пакет был поставлен через Сomposer, его классы уже доступны в .settings.php после строчки:

.settings.phprequire($_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php');

Полный код файла отвечающий за подключение к базе, будет выглядить следующим образом:

.settings.php<?
if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php')) {
    require($_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php');
    \Dotenv\Dotenv::createImmutable($_SERVER['DOCUMENT_ROOT'])->load();
}
return array(
    'connections' =>
    array(
        'value' =>
        array(
            'default' =>
            array(
                'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',
                'host' => $_ENV['MYSQL_HOST'],
                'database' => $_ENV['MYSQL_DATABASE'],
                'login' => $_ENV['MYSQL_LOGIN'],
                'password' => $_ENV['MYSQL_PASSWORD'],
                'options' => 2.0,
            ),
        ),
        'readonly' => true,
    )
);

Пример боевого .env файла:

.envMYSQL_HOST=db
MYSQL_DATABASE=hmarketing_min
MYSQL_LOGIN=root
MYSQL_PASSWORD=root123
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг