@@ -254,6 +254,72 @@ Use the ``methods`` option to restrict the verbs each route should respond to:
254254
255255.. _routing-matching-expressions :
256256
257+ Matching Environments
258+ ~~~~~~~~~~~~~~~~~~~~~
259+
260+ The ``env `` option can be used to make a route conditional on the
261+ :ref: `configuration environment <configuration-environments >`, the route will
262+ only be registered if the environment matches.
263+
264+ .. configuration-block ::
265+
266+ .. code-block :: php-attributes
267+
268+ // src/Controller/DefaultController.php
269+ namespace App\Controller;
270+
271+ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
272+ use Symfony\Component\HttpFoundation\Response;
273+ use Symfony\Component\Routing\Attribute\Route;
274+
275+ class DefaultController extends AbstractController
276+ {
277+ #[Route(
278+ '/tools',
279+ name: 'tools',
280+ env: 'dev',
281+ )]
282+ public function developerTools(): Response
283+ {
284+ // ...
285+ }
286+ }
287+
288+ .. code-block :: yaml
289+
290+ # config/routes.yaml
291+ tools :
292+ path : /tools
293+ controller : App\Controller\DefaultController::developerTools
294+ env : dev
295+
296+ .. code-block :: xml
297+
298+ <!-- config/routes.xml -->
299+ <?xml version =" 1.0" encoding =" UTF-8" ?>
300+ <routes xmlns =" http://symfony.com/schema/routing"
301+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
302+ xsi : schemaLocation =" http://symfony.com/schema/routing
303+ https://symfony.com/schema/routing/routing-1.0.xsd" >
304+
305+ <route id =" tools" path =" /tools" controller =" App\Controller\DefaultController::developerTools" >
306+ <env >dev</env >
307+ </route >
308+ </routes >
309+
310+ .. code-block :: php
311+
312+ // config/routes.php
313+ use App\Controller\DefaultController;
314+ use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
315+
316+ return function (RoutingConfigurator $routes): void {
317+ $routes->add('tools', '/tools')
318+ ->controller([DefaultController::class, 'developerTools'])
319+ ->env('dev')
320+ ;
321+ };
322+
257323 Matching Expressions
258324~~~~~~~~~~~~~~~~~~~~
259325
0 commit comments