Injecter les prérequis de langue dans vos routes Symfony
Publié le 01/08/2019 • Actualisé le 01/08/2019
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(path: '/{_locale}/blog', name: 'blog_', requirements: ['_locale' => '%locales_requirements%'])]
final class BlogController extends AbstractController
{
Plus sur Stackoverflow Snippet aléatoire