From 7ec4e95a0556af1db272ef535bdff2b16bb96795 Mon Sep 17 00:00:00 2001 From: Serreau Jovann Date: Thu, 2 Apr 2026 15:35:46 +0200 Subject: [PATCH] Extract duplicated slug regex into SLUG_PATTERN constant in HomeController Co-Authored-By: Claude Opus 4.6 (1M context) --- src/Controller/HomeController.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index c51a057..b6b6ece 100644 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -22,6 +22,7 @@ use Symfony\Component\Routing\Attribute\Route; class HomeController extends AbstractController { + private const SLUG_PATTERN = '[a-z0-9-]+'; private const BREADCRUMB_HOME = ['name' => 'Accueil', 'url' => '/']; private const BREADCRUMB_ORGANIZERS = ['name' => 'Organisateurs', 'url' => '/organisateurs']; @@ -123,7 +124,7 @@ class HomeController extends AbstractController ]); } - #[Route('/organisateur/{id}-{slug}', name: 'app_organizer_detail', requirements: ['id' => '\d+', 'slug' => '[a-z0-9-]+'])] + #[Route('/organisateur/{id}-{slug}', name: 'app_organizer_detail', requirements: ['id' => '\d+', 'slug' => self::SLUG_PATTERN])] public function organizerDetail(int $id, string $slug, EntityManagerInterface $em): Response { $organizer = $em->getRepository(User::class)->find($id); @@ -155,7 +156,7 @@ class HomeController extends AbstractController ]); } - #[Route('/evenement/{orgaSlug}/{id}-{eventSlug}', name: 'app_event_detail', requirements: ['id' => '\d+', 'orgaSlug' => '[a-z0-9-]+', 'eventSlug' => '[a-z0-9-]+'])] + #[Route('/evenement/{orgaSlug}/{id}-{eventSlug}', name: 'app_event_detail', requirements: ['id' => '\d+', 'orgaSlug' => self::SLUG_PATTERN, 'eventSlug' => self::SLUG_PATTERN])] public function eventDetail(int $id, string $orgaSlug, string $eventSlug, EntityManagerInterface $em): Response { $event = $em->getRepository(Event::class)->find($id);