Видео актуально для Symfony 7

Часто бывает нужно передать в наш роут, контроллер какую-то информацию в url-адресе. 

Например, у нас есть некий роут /page, который выводит нам какую-то страницу. Мы можем в качестве аргумента для этого роута передать дополнительный аргумент. Сделать это можно с помощью фигурных скобок.

Контроллер сможет прочитать эту информацию из url адреса и вывести пользователю какую-то страницу с уникальным идентификатором. 

Рекомендуется также указывать Typehint (тип данных), которые может содержать данный аргумент. 

#[Route('/page/{id}', name: 'app_main')]
    public function index(int $id): Response
    {
        return $this->render('main/index.html.twig', [
            'id'=>$id
        ]);
    }

Пример передачи нескольких параметров.

#[Route('/page/{id}/{slug}', name: 'app_main')]
    public function index(int $id, string $slug): Response
    {
        return $this->render('main/index.html.twig', [
            'id'=>$id,
            'slug'=>$slug
        ]);
    }

Вот таким образом можно работать с атрибутами в контроллерах и роутах в Symfony проекте.