Injecter les prérequis de langue dans vos routes Symfony

Publié le 01/08/2019 • Mis à jour le 01/08/2019


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

C'est une fonctionnalité qui a été introduite ans Symfony 4.1. Ça permet de directement injecter un paramètre dans un prérequis de route au lieu de mettre des valeurs en dur. Dans ce cas, pour ce site web, le paramètre locales_requirements contient %locale%|fr ou locale est la langue par défaut "en". Si vous voulez ajouter une langue à votre projet, tout ce que vous aurez à faire est de l'ajouter à ce paramètre. (et tout traduire évidemment ! 😁). Notez que cette annotation est déclarée au niveau du contrôleur, donc toutes les actions qui y sont déclarées héritent de ces prérequis.


/**
 * @Route("/{_locale}/blog", name="blog_", requirements={"_locale"="%locales_requirements%"})
 */
final class BlogController extends AbstractController

 Plus sur Stackoverflow  Snippet aléatoire