symfonyAnnotations -- Routing (Маршрутизация) - и как добавить параметр в роут
Primary tabs
Возможности аннотаций в Symfony поистине безграничны)
- В том числе можно организовать роутинг в вашем приложении с помощью аннотаций. Для этого в описание методов контроллера добавляем :
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')}) }}
- в методах переадресации:
- Чтобы добавить параметр в роут используем { }:
/** * @Route("/path/{id}", name="alias") */ public function myAction($id) {...}
Получить принимаемый параметр можно как аргумент метода
Если Вы используете Twig в представлениях, сослаться на такой маршрут можно так.
- Чтобы подключить роутинг через аннотации в вашем приложении, пишем в config/routing.yml:
app: resource: '@AppBundle/Controller/' type: annotation
- Также, начиная с symfony4, обязательно надо создавать .htaccess
Источники
- Log in to post comments
- 2483 reads