маршруты Symfony: аннотации против файла - PullRequest
0 голосов
/ 09 июня 2018

Что лучше использовать, использовать аннотации в контроллерах или список маршрутов в файле (файлах) (например, rout.yaml) и, что более важно, почему?

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

Ответы [ 2 ]

0 голосов
/ 10 июня 2018

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

Для меня главное различие между ними:

Аннотации

  • Упростите процесс чтения и обновления маршрута, поскольку маршрут и контроллер находятся в одном файле, очень близко друг к другу.

  • Вы объединяете в одном и том жефайловые контроллеры и конфигурации маршрутизации.

YAML

  • Сложнее для чтения;каждый раз, когда вам нужно проверить маршрут или параметры, вам нужно искать правильный файл yaml.

  • Более организованный способ и отдельные понятия.

Последнее, что я предпочитаю - использовать annotations, главная причина этого в том, что мне вообще не нравится формат yaml.

0 голосов
/ 10 июня 2018

Все зависит

для общих и простых маршрутов к вашему AppBundle. Я предлагаю аннотации, но для других пакетов, которые вы можете использовать повторно, мне нравится yaml, но стандарт - xml.Причина в том, что пользователь стороннего пакета может скопировать файл yaml / xml и поместить его в свой пакет приложений, а затем он может изменить его и добавить свою собственную версию в свою маршрутизацию.Хорошим примером является fosUserBundle.Представьте, что вам не нужна форма регистрации, потому что только администратор может добавлять новых пользователей.В этом случае вам не нужны маршруты для регистрации, и вам придется изменить конфигурацию маршрута

Динамические маршруты

Иногда вам также нужны динамические маршруты.SonataAdmin - это пакет, который генерирует динамические маршруты.Он добавляет маршруты для каждой службы, которая помечена как sonata.admin.

...