symfonyAnnotations -- Routing (Маршрутизация) - и как добавить параметр в роут

Возможности аннотаций в Symfony поистине безграничны)

  1. В том числе можно организовать роутинг в вашем приложении с помощью аннотаций. Для этого в описание методов контроллера добавляем :
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
    
    /**
       * @Route("/path", name="alias")
       */
    public function myAction() {...}

    где
    "/path" - это относительный путь, который будет в адресной строке:

    http://адрес_вашего_сайта/path

    "alias" - это псевдоним пути, который можно использовать без слешей

    • в методах переадресации:
      return $this->redirectToRoute('alias');
    • в качестве адреса ссылки в представлении:
      <a href="alias"></a>
    • в action-ах форм(здесь с использованием Twig ради разнообразия):
      {{ form_start(form, {'method': 'post', 'action': path('alias')}) }}
  2. Чтобы добавить параметр в роут используем { }:
    /**
       * @Route("/path/{id}", name="alias")
       */
    public function myAction($id) {...}

    Получить принимаемый параметр можно как аргумент метода

    Если Вы используете Twig в представлениях, сослаться на такой маршрут можно так.

  3. Чтобы подключить роутинг через аннотации в вашем приложении, пишем в config/routing.yml:
    app:
        resource: '@AppBundle/Controller/'
        type: annotation
  4. Также, начиная с symfony4, обязательно надо создавать .htaccess

Источники