Как определить сущность, в которой обычно используется несколько комплектов? - PullRequest
3 голосов
/ 03 октября 2011

Я хочу создать систему блогов, чтобы практиковать symfony2, но в настоящее время я немного запутался при создании сущностей, таких как пользователь или блог.Причина заключается в следующем:

  • Пользователь (или блог) обычно используется во внешнем интерфейсе и бэкэнде (администратор) (в настоящее время я рассмотрел создание FrontendBundle и AdminBundle)
  • Объект должен принадлежатьодна связка.

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

  • Создатькомплект с именем BlogCommonBundle и определите сущность пользователя как «BlogCommonBundle: пользователь».
  • Определите все контроллеры из одного комплекта, такие как BlogBundle, поэтому контроллеры frontend / backend (admin) принадлежат одному и тому же комплекту.*

Ответы [ 2 ]

3 голосов
/ 04 октября 2011

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

То же самое относится и к UserBundle. Полезно напомнить себе, что пакет должен представлять собой набор одинаковых функций для приложения. Поэтому, если у вас есть код, который извлекает сообщения из блога и позволяет создавать и управлять ими, они естественным образом группируются в один пакет.

2 голосов
/ 04 октября 2011

Я задал похожий вопрос здесь: Как поделиться моделью Symfony2 с несколькими проектами

Я выбрал подход «ModelBundle», который содержит все сущности, формы, репозитории и т. Д.Все они используются совместно с FrontendBundle и BackendBundle.Пока что я очень доволен этим решением.

...