Как настроить роутинг в контроллере и твиге?

Для настройки роутинга в Symfony, необходимо выполнить несколько шагов как в контроллере, так и в Twig шаблоне.

1. Настройка роутинга в контроллере:
В контроллере необходимо добавить аннотацию @Route или использовать YAML/PHP/XML конфигурацию для определения маршрутов.
Пример использования аннотации @Route:

   namespace AppController;

   use SymfonyBundleFrameworkBundleControllerAbstractController;
   use SymfonyComponentRoutingAnnotationRoute;

   class MyController extends AbstractController
   {
       /**
        * @Route("/my-route", name="my_route")
        */
       public function myAction()
       {
           // Ваш код действия контроллера
       }
   }

Пример использования YAML конфигурации:

   # config/routes.yaml
   my_route:
       path: /my-route
       controller: AppControllerMyController::myAction

2. Использование роутинга в Twig шаблоне:
В Twig шаблоне вы можете использовать функцию path() или url() для генерации URL для заданного маршрута.
Пример использования функции path():

   <a href="{{ path('my_route') }}">My Link</a>

Пример использования функции url():

   <a href="{{ url('my_route') }}">My Link</a>

Функции path() и url() генерируют URL на основе имени маршрута, указанного в аннотации или конфигурации роутинга в контроллере.

3. Генерирование URL с параметрами:
Если ваш маршрут имеет параметры, вы можете передать их в функцию path() или url() в качестве второго аргумента в виде ассоциативного массива.
Например, если у вашего маршрута есть параметр {id}, вы можете передать его в функцию path() или url() следующим образом:

   <a href="{{ path('my_route', {'id': 123}) }}">My Link</a>

В итоге, при клике на ссылку "My Link", пользователь будет перенаправлен на URL, сгенерированный на основе конфигурации роутинга в контроллере. Если вам потребуется изменить маршрут или его параметры, вы можете сделать это только в одном месте - в контроллере или конфигурации роутинга.