@@ -633,63 +633,62 @@ Symfony provides the following env var processors:
633633 ..code-block ::bash
634634
635635# .env
636- MONGODB_URL= " mongodb ://db_user:db_password@127.0.0.1:27017 /db_name"
636+ DATABASE_URL= " postgresql ://db_user:db_password@127.0.0.1:5432 /db_name"
637637
638638 ..configuration-block ::
639639
640640 ..code-block ::yaml
641641
642- # config/packages/mongodb .yaml
643- mongo_db_bundle :
644- clients :
645- default :
646- hosts :
647- - { host: '%env(string:key:host:url:MONGODB_URL)%', port: '%env(int:key:port:url:MONGODB_URL)%' }
648- username :' %env(string:key:user :url:MONGODB_URL )%'
649- password :' %env(string :key:pass :url:MONGODB_URL )%'
650- connections :
651- default :
652- database_name :' %env(key:path:url:MONGODB_URL )%'
642+ # config/services .yaml
643+ services :
644+ # ...
645+
646+ some_service :
647+ arguments :
648+ $host :' %env(string:key:host :url:DATABASE_URL )%'
649+ $port :' %env(int :key:port :url:DATABASE_URL )%'
650+ $username : ' %env(string:key:user:url:DATABASE_URL)% '
651+ $password : ' %env(string:key:pass:url:DATABASE_URL)% '
652+ $ database_name :' %env(key:path:url:DATABASE_URL )%'
653653
654654 ..code-block ::xml
655655
656- <!-- config/packages/mongodb .xml-->
656+ <!-- config/services .xml-->
657657 <?xml version =" 1.0" encoding =" UTF-8" ?>
658658 <container xmlns =" http://symfony.com/schema/dic/services"
659659xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
660660xsi : schemaLocation =" http://symfony.com/schema/dic/services
661- https://symfony.com/schema/dic/services/services-1.0.xsd" >
662-
663- <mongodb : config >
664- <mongodb : client name =" default" username =" %env(string:key:user:url:MONGODB_URL)%" password =" %env(string:key:pass:url:MONGODB_URL)%" >
665- <mongodb : host host =" %env(string:key:host:url:MONGODB_URL)%" port =" %env(int:key:port:url:MONGODB_URL)%" />
666- </mongodb : client >
667- <mongodb : connections name =" default" database_name =" %env(key:path:url:MONGODB_URL)%" />
668- </mongodb : config >
661+ https://symfony.com/schema/dic/services/services-1.0.xsd"
662+ >
663+ <services >
664+ <!-- ...-->
665+
666+ <service id =" some_service" >
667+ <argument key =" $host" >%env(string:key:host:url:DATABASE_URL)%</argument >
668+ <argument key =" $port" >%env(int:key:port:url:DATABASE_URL)%</argument >
669+ <argument key =" $username" >%env(string:key:user:url:DATABASE_URL)%</argument >
670+ <argument key =" $password" >%env(string:key:pass:url:DATABASE_URL)%</argument >
671+ <argument key =" $database_name" >%env(key:path:url:DATABASE_URL)%</argument >
672+ </service >
673+ </services >
669674 </container >
670675
671676 ..code-block ::php
672677
673- // config/packages/mongodb.php
674- $container->loadFromExtension('mongodb', [
675- 'clients' => [
676- 'default' => [
677- 'hosts' => [
678- [
679- 'host' => '%env(string:key:host:url:MONGODB_URL)%',
680- 'port' => '%env(int:key:port:url:MONGODB_URL)%',
681- ],
682- ],
683- 'username' => '%env(string:key:user:url:MONGODB_URL)%',
684- 'password' => '%env(string:key:pass:url:MONGODB_URL)%',
685- ],
686- ],
687- 'connections' => [
688- 'default' => [
689- 'database_name' => '%env(key:path:url:MONGODB_URL)%',
690- ],
691- ],
692- ]);
678+ // config/services.php
679+ namespace Symfony\C omponent\D ependencyInjection\L oader\C onfigurator;
680+
681+ return function(ContainerConfigurator $container): void {
682+ // ...
683+
684+ $services->set(SomeService::class)
685+ ->arg('$host', '%env(string:key: host:url: DATABASE_URL)%')
686+ ->arg('$port', '%env(int:key: port:url: DATABASE_URL)%')
687+ ->arg('$username', '%env(string:key: user:url: DATABASE_URL)%')
688+ ->arg('$password', '%env(string:key: pass:url: DATABASE_URL)%')
689+ ->arg('$database_name', '%env(key:path: url:DATABASE_URL)%')
690+ ;
691+ };
693692
694693 ..warning ::
695694
@@ -703,44 +702,53 @@ Symfony provides the following env var processors:
703702 ..code-block ::bash
704703
705704# .env
706- MONGODB_URL= " mongodb ://db_user:db_password@127.0.0.1:27017 /db_name?timeout=3000 "
705+ DATABASE_URL= " postgresql ://db_user:db_password@127.0.0.1:5432 /db_name?serverVersion=12.19&charset=utf8 "
707706
708707 ..configuration-block ::
709708
710709 ..code-block ::yaml
711710
712- # config/packages/mongodb.yaml
713- mongo_db_bundle :
714- clients :
715- default :
716- # ...
717- connectTimeoutMS :' %env(int:key:timeout:query_string:MONGODB_URL)%'
711+ # config/services.yaml
712+ services :
713+ # ...
714+
715+ some_service :
716+ arguments :
717+ $serverVersion :' %env(string:key:serverVersion:query_string:DATABASE_URL)%'
718+ $charset :' %env(string:key:charset:query_string:DATABASE_URL)%'
718719
719720 ..code-block ::xml
720721
721- <!-- config/packages/mongodb .xml-->
722+ <!-- config/services .xml-->
722723 <?xml version =" 1.0" encoding =" UTF-8" ?>
723724 <container xmlns =" http://symfony.com/schema/dic/services"
724725xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
725726xsi : schemaLocation =" http://symfony.com/schema/dic/services
726- https://symfony.com/schema/dic/services/services-1.0.xsd" >
727+ https://symfony.com/schema/dic/services/services-1.0.xsd"
728+ >
729+ <services >
730+ <!-- ...-->
727731
728- <mongodb : config >
729- <mongodb : client name =" default" connectTimeoutMS =" %env(int:key:timeout:query_string:MONGODB_URL)%" />
730- </mongodb : config >
732+ <service id =" some_service" >
733+ <argument key =" $serverVersion" >%env(string:key:serverVersion:query_string:DATABASE_URL)%</argument >
734+ <argument key =" $charset" >%env(string:key:charset:query_string:DATABASE_URL)%</argument >
735+ </service >
736+ </services >
731737 </container >
732738
733739 ..code-block ::php
734740
735- // config/packages/mongodb.php
736- $container->loadFromExtension('mongodb', [
737- 'clients' => [
738- 'default' => [
739- // ...
740- 'connectTimeoutMS' => '%env(int:key:timeout:query_string:MONGODB_URL)%',
741- ],
742- ],
743- ]);
741+ // config/services.php
742+ namespace Symfony\C omponent\D ependencyInjection\L oader\C onfigurator;
743+
744+ return function(ContainerConfigurator $container): void {
745+ // ...
746+
747+ $services->set(SomeService::class)
748+ ->arg('$serverVersion', '%env(string:key: serverVersion:query_string: DATABASE_URL)%')
749+ ->arg('$charset', '%env(int:string: charset:query_string: DATABASE_URL)%')
750+ ;
751+ };
744752
745753``env(enum:FooEnum:BAR) ``
746754 Tries to convert an environment variable to an actual ``\BackedEnum `` value.