diff --git a/configuration/env_var_processors.rst b/configuration/env_var_processors.rst
index ecf5d37cc05..336b9b02a42 100644
--- a/configuration/env_var_processors.rst
+++ b/configuration/env_var_processors.rst
@@ -633,63 +633,62 @@ Symfony provides the following env var processors:
.. code-block:: bash
# .env
- MONGODB_URL="mongodb://db_user:db_password@127.0.0.1:27017/db_name"
+ DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name"
.. configuration-block::
.. code-block:: yaml
- # config/packages/mongodb.yaml
- mongo_db_bundle:
- clients:
- default:
- hosts:
- - { host: '%env(string:key:host:url:MONGODB_URL)%', port: '%env(int:key:port:url:MONGODB_URL)%' }
- username: '%env(string:key:user:url:MONGODB_URL)%'
- password: '%env(string:key:pass:url:MONGODB_URL)%'
- connections:
- default:
- database_name: '%env(key:path:url:MONGODB_URL)%'
+ # config/services.yaml
+ services:
+ # ...
+
+ some_service:
+ arguments:
+ $host: '%env(string:key:host:url:DATABASE_URL)%'
+ $port: '%env(int:key:port:url:DATABASE_URL)%'
+ $username: '%env(string:key:user:url:DATABASE_URL)%'
+ $password: '%env(string:key:pass:url:DATABASE_URL)%'
+ $database_name: '%env(key:path:url:DATABASE_URL)%'
.. code-block:: xml
-
+
-
-
-
-
-
-
-
+ https://symfony.com/schema/dic/services/services-1.0.xsd"
+ >
+
+
+
+
+ %env(string:key:host:url:DATABASE_URL)%
+ %env(int:key:port:url:DATABASE_URL)%
+ %env(string:key:user:url:DATABASE_URL)%
+ %env(string:key:pass:url:DATABASE_URL)%
+ %env(key:path:url:DATABASE_URL)%
+
+
.. code-block:: php
- // config/packages/mongodb.php
- $container->loadFromExtension('mongodb', [
- 'clients' => [
- 'default' => [
- 'hosts' => [
- [
- 'host' => '%env(string:key:host:url:MONGODB_URL)%',
- 'port' => '%env(int:key:port:url:MONGODB_URL)%',
- ],
- ],
- 'username' => '%env(string:key:user:url:MONGODB_URL)%',
- 'password' => '%env(string:key:pass:url:MONGODB_URL)%',
- ],
- ],
- 'connections' => [
- 'default' => [
- 'database_name' => '%env(key:path:url:MONGODB_URL)%',
- ],
- ],
- ]);
+ // config/services.php
+ namespace Symfony\Component\DependencyInjection\Loader\Configurator;
+
+ return function(ContainerConfigurator $container): void {
+ // ...
+
+ $services->set(SomeService::class)
+ ->arg('$host', '%env(string:key:host:url:DATABASE_URL)%')
+ ->arg('$port', '%env(int:key:port:url:DATABASE_URL)%')
+ ->arg('$username', '%env(string:key:user:url:DATABASE_URL)%')
+ ->arg('$password', '%env(string:key:pass:url:DATABASE_URL)%')
+ ->arg('$database_name', '%env(key:path:url:DATABASE_URL)%')
+ ;
+ };
.. warning::
@@ -703,44 +702,53 @@ Symfony provides the following env var processors:
.. code-block:: bash
# .env
- MONGODB_URL="mongodb://db_user:db_password@127.0.0.1:27017/db_name?timeout=3000"
+ DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=12.19&charset=utf8"
.. configuration-block::
.. code-block:: yaml
- # config/packages/mongodb.yaml
- mongo_db_bundle:
- clients:
- default:
- # ...
- connectTimeoutMS: '%env(int:key:timeout:query_string:MONGODB_URL)%'
+ # config/services.yaml
+ services:
+ # ...
+
+ some_service:
+ arguments:
+ $serverVersion: '%env(string:key:serverVersion:query_string:DATABASE_URL)%'
+ $charset: '%env(string:key:charset:query_string:DATABASE_URL)%'
.. code-block:: xml
-
+
+ https://symfony.com/schema/dic/services/services-1.0.xsd"
+ >
+
+
-
-
-
+
+ %env(string:key:serverVersion:query_string:DATABASE_URL)%
+ %env(string:key:charset:query_string:DATABASE_URL)%
+
+
.. code-block:: php
- // config/packages/mongodb.php
- $container->loadFromExtension('mongodb', [
- 'clients' => [
- 'default' => [
- // ...
- 'connectTimeoutMS' => '%env(int:key:timeout:query_string:MONGODB_URL)%',
- ],
- ],
- ]);
+ // config/services.php
+ namespace Symfony\Component\DependencyInjection\Loader\Configurator;
+
+ return function(ContainerConfigurator $container): void {
+ // ...
+
+ $services->set(SomeService::class)
+ ->arg('$serverVersion', '%env(string:key:serverVersion:query_string:DATABASE_URL)%')
+ ->arg('$charset', '%env(int:string:charset:query_string:DATABASE_URL)%')
+ ;
+ };
``env(enum:FooEnum:BAR)``
Tries to convert an environment variable to an actual ``\BackedEnum`` value.