Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc293e62

Browse files
committed
[DependencyInjection] Update the examples about extracting URL values
1 parentdd39eab commitc293e62

File tree

1 file changed

+70
-62
lines changed

1 file changed

+70
-62
lines changed

‎configuration/env_var_processors.rst‎

Lines changed: 70 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -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
<containerxmlns="http://symfony.com/schema/dic/services"
659659
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
660660
xsi:schemaLocation="http://symfony.com/schema/dic/services
661-
https://symfony.com/schema/dic/services/services-1.0.xsd">
662-
663-
<mongodb:config>
664-
<mongodb:clientname="default"username="%env(string:key:user:url:MONGODB_URL)%"password="%env(string:key:pass:url:MONGODB_URL)%">
665-
<mongodb:hosthost="%env(string:key:host:url:MONGODB_URL)%"port="%env(int:key:port:url:MONGODB_URL)%"/>
666-
</mongodb:client>
667-
<mongodb:connectionsname="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+
<serviceid="some_service">
667+
<argumentkey="$host">%env(string:key:host:url:DATABASE_URL)%</argument>
668+
<argumentkey="$port">%env(int:key:port:url:DATABASE_URL)%</argument>
669+
<argumentkey="$username">%env(string:key:user:url:DATABASE_URL)%</argument>
670+
<argumentkey="$password">%env(string:key:pass:url:DATABASE_URL)%</argument>
671+
<argumentkey="$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\Component\DependencyInjection\Loader\Configurator;
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
<containerxmlns="http://symfony.com/schema/dic/services"
724725
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
725726
xsi: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:clientname="default"connectTimeoutMS="%env(int:key:timeout:query_string:MONGODB_URL)%"/>
730-
</mongodb:config>
732+
<serviceid="some_service">
733+
<argumentkey="$serverVersion">%env(string:key:serverVersion:query_string:DATABASE_URL)%</argument>
734+
<argumentkey="$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\Component\DependencyInjection\Loader\Configurator;
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.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp