Depuis la mise à jour 7.4 de Symfony, il est possible de définir l'accès à une route pour plusieurs environnements différents.

Admettons la fonction suivante qui permet de lister des articles :

#[Route('/post/{id}', name: 'post_show', methods: ['GET'])]
public function show(Post $post): Response
{
    return $this->render('site/post/show.html.twig', [
        'post' => $post,
    ]);
}

Pour limiter son acccès aux environnements de production et de développement par exemple, il suffit de modifier #[Route] de la manière suivante :

#[Route('/post/{id}', name: 'post_show', methods: ['GET'], env: ['prod', 'dev'])]
public function show(Post $post): Response
{
    return $this->render('site/post/show.html.twig', [
        'post' => $post,
    ]);
}

L'ajout de env: ['prod', 'dev'] définit les règles d'accès qui nous intéressent de manière simple. A partir de maintenant, les autres environnements retourneront une erreur en tentant d'accéder à /post/id.

Pour plus d'informations sur les changements liés aux attributs, tout est disponible dans un post de blog sur le site officiel de Symfony.