Skip to content

Commit c42ea17

Browse files
committed
minor #11128 Add url and query_string processors (jderusse)
This PR was merged into the master branch. Discussion ---------- Add `url` and `query_string` processors Documentation for symfony/symfony#28975 Commits ------- 4fb0d0a Add `url` and `query_string` processors
2 parents 1612b74 + 4fb0d0a commit c42ea17

File tree

1 file changed

+122
-0
lines changed

1 file changed

+122
-0
lines changed

configuration/external_parameters.rst

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,128 @@ Symfony provides the following env var processors:
540540

541541
The ``default`` processor was introduced in Symfony 4.3.
542542

543+
``env(url:FOO)``
544+
Parses an absolute URL and returns its components.
545+
546+
.. code-block:: bash
547+
548+
# .env
549+
MONGODB_URL="mongodb://db_user:db_password@127.0.0.1:27017/db_name"
550+
551+
.. configuration-block::
552+
553+
.. code-block:: yaml
554+
555+
# config/packages/mongodb.yaml
556+
mongo_db_bundle:
557+
clients:
558+
default:
559+
hosts:
560+
- { host: '%env(key:host:url:MONGODB_URL)%', port: '%env(key:port:url:MONGODB_URL)%' }
561+
username: '%env(key:user:url:MONGODB_URL)%'
562+
password: '%env(key:pass:url:MONGODB_URL)%'
563+
connections:
564+
default:
565+
database_name: '%env(key:path:url:MONGODB_URL)%'
566+
567+
.. code-block:: xml
568+
569+
<!-- config/packages/mongodb.xml -->
570+
<?xml version="1.0" encoding="UTF-8" ?>
571+
<container xmlns="http://symfony.com/schema/dic/services"
572+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
573+
xsi:schemaLocation="http://symfony.com/schema/dic/services
574+
http://symfony.com/schema/dic/services/services-1.0.xsd">
575+
576+
<mongodb:config>
577+
<mongodb:client name="default" username="%env(key:user:url:MONGODB_URL)%" password="%env(key:pass:url:MONGODB_URL)%">
578+
<mongodb:host host="%env(key:host:url:MONGODB_URL)%" port="%env(key:port:url:MONGODB_URL)%"/>
579+
</mongodb:client>
580+
<mongodb:connections name="default" database_name="%env(key:path:url:MONGODB_URL)%"/>
581+
</mongodb:config>
582+
</container>
583+
584+
.. code-block:: php
585+
586+
// config/packages/mongodb.php
587+
$container->loadFromExtension('mongodb', [
588+
'clients' => [
589+
'default' => [
590+
'hosts' => [
591+
[
592+
'host' => '%env(key:host:url:MONGODB_URL)%',
593+
'port' => '%env(key:port:url:MONGODB_URL)%',
594+
],
595+
],
596+
'username' => '%env(key:user:url:MONGODB_URL)%',
597+
'password' => '%env(key:pass:url:MONGODB_URL)%',
598+
],
599+
],
600+
'connections' => [
601+
'default' => [
602+
'database_name' => '%env(key:path:url:MONGODB_URL)%',
603+
],
604+
],
605+
]);
606+
607+
.. caution::
608+
609+
In order to ease extraction of the resource from the URL, The leading
610+
``/`` is trimed from the ``path`` component.
611+
612+
.. versionadded:: 4.3
613+
614+
The ``url`` processor was introduced in Symfony 4.3.
615+
616+
``env(query_string:FOO)``
617+
Parses an encoded string as if it were the query string passed via a URL.
618+
619+
.. code-block:: bash
620+
621+
# .env
622+
MONGODB_URL="mongodb://db_user:db_password@127.0.0.1:27017/db_name?timeout=3000"
623+
624+
.. configuration-block::
625+
626+
.. code-block:: yaml
627+
628+
# config/packages/mongodb.yaml
629+
mongo_db_bundle:
630+
clients:
631+
default:
632+
# ...
633+
connectTimeoutMS: '%env(int:key:timeout:query_string:MONGODB_URL)%'
634+
635+
.. code-block:: xml
636+
637+
<!-- config/packages/mongodb.xml -->
638+
<?xml version="1.0" encoding="UTF-8" ?>
639+
<container xmlns="http://symfony.com/schema/dic/services"
640+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
641+
xsi:schemaLocation="http://symfony.com/schema/dic/services
642+
http://symfony.com/schema/dic/services/services-1.0.xsd">
643+
644+
<mongodb:config>
645+
<mongodb:client name="default" connectTimeoutMS="%env(int:key:timeout:query_string:MONGODB_URL)%" />
646+
</mongodb:config>
647+
</container>
648+
649+
.. code-block:: php
650+
651+
// config/packages/mongodb.php
652+
$container->loadFromExtension('mongodb', [
653+
'clients' => [
654+
'default' => [
655+
// ...
656+
'connectTimeoutMS' => '%env(int:key:timeout:query_string:MONGODB_URL)%',
657+
],
658+
],
659+
]);
660+
661+
.. versionadded:: 4.3
662+
663+
The ``query_string`` processor was introduced in Symfony 4.3.
664+
543665
It is also possible to combine any number of processors:
544666

545667
.. code-block:: yaml

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy