@@ -365,46 +365,40 @@ Symfony provides the following env var processors:
365365 .. code-block :: bash
366366
367367 # .env
368- MONGODB_URL= " mongodb ://db_user:[email protected] :27017 /db_name" 368+ DATABASE_URL= " postgresql ://db_user:[email protected] :5432 /db_name" 369369
370370 .. configuration-block ::
371371
372372 .. code-block :: yaml
373373
374- # config/packages/mongodb .yaml
375- mongo_db_bundle :
376- clients :
377- default :
378- hosts :
379- - { host: '%env(string:key:host:url:MONGODB_URL)%', port: '%env(int:key:port:url:MONGODB_URL)%' }
380- username : ' %env(string:key:user :url:MONGODB_URL )%'
381- password : ' %env(string :key:pass :url:MONGODB_URL )%'
382- connections :
383- default :
384- database_name : ' %env(key:path:url:MONGODB_URL )%'
374+ # config/services .yaml
375+ services :
376+ # ...
377+
378+ some_service :
379+ arguments :
380+ $host : ' %env(string:key:host :url:DATABASE_URL )%'
381+ $port : ' %env(int :key:port :url:DATABASE_URL )%'
382+ $username : ' %env(string:key:user:url:DATABASE_URL)% '
383+ $password : ' %env(string:key:pass:url:DATABASE_URL)% '
384+ $ database_name : ' %env(key:path:url:DATABASE_URL )%'
385385
386386 .. code-block :: php
387387
388- // config/packages/mongodb.php
389- $container->loadFromExtension('mongodb', [
390- 'clients' => [
391- 'default' => [
392- 'hosts' => [
393- [
394- 'host' => '%env(string:key:host:url:MONGODB_URL)%',
395- 'port' => '%env(int:key:port:url:MONGODB_URL)%',
396- ],
397- ],
398- 'username' => '%env(string:key:user:url:MONGODB_URL)%',
399- 'password' => '%env(string:key:pass:url:MONGODB_URL)%',
400- ],
401- ],
402- 'connections' => [
403- 'default' => [
404- 'database_name' => '%env(key:path:url:MONGODB_URL)%',
405- ],
406- ],
407- ]);
388+ // config/services.php
389+ namespace Symfony\C omponent\D ependencyInjection\L oader\C onfigurator;
390+
391+ return function(ContainerConfigurator $container): void {
392+ // ...
393+
394+ $services->set(SomeService::class)
395+ ->arg('$host', '%env(string:key: host:url: DATABASE_URL)%')
396+ ->arg('$port', '%env(int:key: port:url: DATABASE_URL)%')
397+ ->arg('$username', '%env(string:key: user:url: DATABASE_URL)%')
398+ ->arg('$password', '%env(string:key: pass:url: DATABASE_URL)%')
399+ ->arg('$database_name', '%env(key:path: url:DATABASE_URL)%')
400+ ;
401+ };
408402
409403 .. warning ::
410404
@@ -418,30 +412,34 @@ Symfony provides the following env var processors:
418412 .. code-block :: bash
419413
420414 # .env
421- MONGODB_URL= " mongodb ://db_user:[email protected] :27017 /db_name?timeout=3000 " 415+ DATABASE_URL= " postgresql ://db_user:[email protected] :5432 /db_name?serverVersion=12.19&charset=utf8 " 422416
423417 .. configuration-block ::
424418
425419 .. code-block :: yaml
426420
427- # config/packages/mongodb.yaml
428- mongo_db_bundle :
429- clients :
430- default :
431- # ...
432- connectTimeoutMS : ' %env(int:key:timeout:query_string:MONGODB_URL)%'
421+ # config/services.yaml
422+ services :
423+ # ...
424+
425+ some_service :
426+ arguments :
427+ $serverVersion : ' %env(string:key:serverVersion:query_string:DATABASE_URL)%'
428+ $charset : ' %env(string:key:charset:query_string:DATABASE_URL)%'
433429
434430 .. code-block :: php
435431
436- // config/packages/mongodb.php
437- $container->loadFromExtension('mongodb', [
438- 'clients' => [
439- 'default' => [
440- // ...
441- 'connectTimeoutMS' => '%env(int:key:timeout:query_string:MONGODB_URL)%',
442- ],
443- ],
444- ]);
432+ // config/services.php
433+ namespace Symfony\C omponent\D ependencyInjection\L oader\C onfigurator;
434+
435+ return function(ContainerConfigurator $container): void {
436+ // ...
437+
438+ $services->set(SomeService::class)
439+ ->arg('$serverVersion', '%env(string:key: serverVersion:query_string: DATABASE_URL)%')
440+ ->arg('$charset', '%env(int:string: charset:query_string: DATABASE_URL)%')
441+ ;
442+ };
445443
446444``env(enum:FooEnum:BAR) ``
447445 Tries to convert an environment variable to an actual ``\BackedEnum `` value.
0 commit comments