Skip to content

Commit 4215a87

Browse files
committed
Merge branch '7.4' into 8.0
* 7.4: [DependencyInjection] Update the examples about extracting URL values
2 parents 7dcd831 + 0e6ce75 commit 4215a87

File tree

1 file changed

+46
-48
lines changed

1 file changed

+46
-48
lines changed

configuration/env_var_processors.rst

Lines changed: 46 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -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\Component\DependencyInjection\Loader\Configurator;
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\Component\DependencyInjection\Loader\Configurator;
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

Comments
 (0)