@@ -22,8 +22,7 @@ Creating Routes as Attributes
2222~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2323
2424PHP attributes allow to define routes next to the code of the
25- :doc: `controllers </controller >` associated to those routes. Attributes are
26- native in PHP 8 and higher versions, so you can use them right away.
25+ :doc: `controllers </controller >` associated to those routes.
2726
2827You need to add a bit of configuration to your project before using them. If your
2928project uses :ref: `Symfony Flex <symfony-flex >`, this file is already created for you.
@@ -714,12 +713,6 @@ URL Route Parameters
714713 matches any uppercase character in any language, ``\p{Greek} `` matches any
715714 Greek characters, etc.
716715
717- .. note ::
718-
719- When using regular expressions in route parameters, you can set the ``utf8 ``
720- route option to ``true `` to make any ``. `` character match any UTF-8
721- characters instead of just a single byte.
722-
723716If you prefer, requirements can be inlined in each parameter using the syntax
724717``{parameter_name<requirements>} ``. This feature makes configuration more
725718concise, but it can decrease route readability when requirements are complex:
@@ -1005,7 +998,7 @@ controller action. Instead of ``string $slug``, add ``BlogPost $post``::
1005998 {
1006999 // ...
10071000
1008- #[Route('/blog/{slug}', name: 'blog_show')]
1001+ #[Route('/blog/{slug:post }', name: 'blog_show')]
10091002 public function show(BlogPost $post): Response
10101003 {
10111004 // $post is the object whose slug matches the routing parameter
@@ -1019,9 +1012,18 @@ this case), the "param converter" makes a database request to find the object
10191012using the request parameters (``slug `` in this case). If no object is found,
10201013Symfony generates a 404 response automatically.
10211014
1015+ The ``{slug:post} `` syntax maps the route parameter named ``slug `` to the controller
1016+ argument named ``$post ``. It also hints the "param converter" to look up the
1017+ corresponding ``BlogPost `` object from the database using the slug.
1018+
1019+ .. versionadded :: 7.1
1020+
1021+ Route parameter mapping was introduced in Symfony 7.1.
1022+
1023+ More advanced mappings can be achieved using the ``#[MapEntity] `` attribute.
10221024Check out the :ref: `Doctrine param conversion documentation <doctrine-entity-value-resolver >`
1023- to learn about the `` #[MapEntity] `` attribute that can be used to customize the
1024- database queries used to fetch the object from the route parameter.
1025+ to learn how to customize the database queries used to fetch the object from the route
1026+ parameter.
10251027
10261028Backed Enum Parameters
10271029~~~~~~~~~~~~~~~~~~~~~~
0 commit comments