23/02/2018 - SYMFONY
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.
Dotenv bileşenini composer require --dev symfony/dotenv
komutu ile yükleyin.
# app/config/parameters.yml.dist
parameters:
secret: '%env(APP_SECRET)%'
# bin/console
...
(new \Symfony\Component\Dotenv\Dotenv())->load(__DIR__.'/../app/config/env/.env.'.$env);
$kernel = new AppKernel($env, $debug);
...
# 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);
...
# 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);
...
# /etc/apache2/sites-available/your_app.conf
...
SetEnv APP_SECRET ProdSecret
...
http://your_app/app_dev.php/
adresi DevSecret
'i kullanacak.http://your_app/app_tes.php/
adresi TestSecret
'i kullanacak.http://your_app/{app.php}/
adresi ProdSecret
'i kullanacak.