Bu örnek bize DEV, TEST ve PROD ortamları için farklı değişkenleri nasıl kullanacağımızı gösteriyor. Güvenlik nedeniyle PROD (production) için durum farklı olacak yani değişkenler Apache vhost dosyasında tanımlı olacak. DEV ve TEST ortamları için The Dotenv Component kullanacağız.


Kurulum


Dotenv bileşenini composer require --dev symfony/dotenv komutu ile yükleyin.


Konfigürasyon


parameters.yml.dist


# app/config/parameters.yml.dist

parameters:
secret: '%env(APP_SECRET)%'

console


# bin/console

...
(new \Symfony\Component\Dotenv\Dotenv())->load(__DIR__.'/../app/config/env/.env.'.$env);

$kernel = new AppKernel($env, $debug);
...

Dev


# app/config/env/.env.dev

APP_SECRET=DevSecret

# web/app_dev.php

...
(new \Symfony\Component\Dotenv\Dotenv())->load(__DIR__.'/../app/config/env/.env.dev');

$kernel = new AppKernel('dev', true);
...

Test


# app/config/env/.env.test

APP_SECRET=TestSecret

# web/app_test.php

...
(new \Symfony\Component\Dotenv\Dotenv())->load(__DIR__.'/../app/config/env/.env.test');

$kernel = new AppKernel('test', true);
...

Prod


# /etc/apache2/sites-available/your_app.conf

...
SetEnv APP_SECRET ProdSecret
...

Test