Что такое Symfony routing?

В Symfony есть мощная система, которая обеспечивает доставку запросов пользователей к нужным обработчикам этих запросов в приложении, которое мы разрабатываем.

По сути, она смотрит какой адрес ввел пользователь в адресную строку браузера и находит соответствующий PHP метод, который должен обработать этот запрос.

Методы, которые будут обрабатывать этот запрос находятся в папочке src/Controller и задача системы роутинга подобрать нужный php-класс и метод в нем, который обработает запрос.

Эта служба или сервис в Symfony называется "routing" или "система маршрутизации".

Что такое route в Symfony.

PHP методы в классах контроллера могут быть обозначены как возможные обработчики для системы routing в Symfony. Т.е. сервис роутинга будет выбирать среди этих возможных обработчиков адресов какой обработчик, какому адресу в адресной строке браузера может соответствовать.

Этот обозначенный обработчик называется route или роут. 

По сути, это обычный php метод, который соответствует какому-то адресу в адресной строке браузера.

Где находится route в адресной строке.

route в адресной строке - это тот путь, который указывается после имени домена или ip адреса.

То, что выделено красным и является route Symfony. 

Адрес может содержать дополнительную информацию, которая может изменяться, но относиться к одному роуту. Например, здесь это номер страницы. Эта часть называется аргументом или параметром роута.

Аргументы находятся в самом конце роута и их может быть более одного. 

По значению аргумента мы можем, например, к какому элементу сущности происходит запрос. 

Более подробно об аргументах роута мы тоже поговорим в следующих видео.

Способы создания routes

Существует более одного способа, как мы можем создавать роуты в Symfony приложении.

1 способ. С помощью php атрибутов непосредственно над соответствующем методом контроллера. 

Как правило, это основной способ создания роутов и его проще всего применить и он является наиболее наглядным и удобным способом. Разработчики Symfony рекомендуют применять именно его. 

2 способ. С помощью php аннотаций (устаревший)

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

Подробнее про 1 и 2 способ создания роутов можно посмотреть в этом видео:

https://webkyrs.info/page/sozdanie-routov-symfony-atributi-i-annotatsii

3 способ. С помощью конфигурационных файлов. 

config/routes.yaml

Здесь просто прописывается соответствие адреса и php метода, который этот адрес должен обработать.

Подробнее про этот способ можно посмотреть здесь:

https://webkyrs.info/page/sozdanie-routov-v-faile-routesyaml-v-symfony

Итого, route - это просто путь, по которому мы можем обратиться к ресурсу (контрольной точке) внутри Symfony.

Давайте будем подробнее разбираться как с этим работать и как это все настраивается в следующих видео.