Мы создаем SaaS, который отслеживает определенные активы.Это означает, что он принимает данные, сохраняет их и отображает их в веб-интерфейсе.
Для этого у нас есть несколько компонентов, которые мы создали с / переходим в Symfony2:
- веб-приложение внешнего интерфейса, где пользователи могут просматривать свои данные
- административное веб-приложение внутреннего уровня, где мы создаем новые мониторы, пользователей и т. д.
- API
- приложение, котороеизвлекает полученные данные из очереди и помещает их в нашу базу данных (теперь это отдельный скрипт, но я подумываю переделать это как команду Symfony, которая вызывается cron)
Все этичетыре приложения используют одну и ту же модель : наша основная база данных, в которой хранятся все пользователи, мониторы и данные.
Мой вопрос таков: как мне структурировать эти проекты в Symfony2?
- Создать ли отдельный пакет, содержащий объекты для моей базы данных, и иметьчетыре проекта включают эти объекты и работают с ними?
- Могу ли я создать каталог 'model' в папке моего приложения Symfony, который используется всеми пакетами в моем каталоге / src?
- Какой-то другой, более чистый способ сделать это?
Вариант 1 кажется немного странным, поскольку пакет, на мой взгляд, требует маршрутизации, представлений, контроллеров и т. Д. Использование его только для сущностей было бынемного странно.
Вариант 2, кажется, в порядке, поскольку папка / app в любом случае считается «общей» для всего, что находится в папке / src (поскольку, например, параметры также находятся там).Тем не менее, там нет папки 'model', и я не уверен, что она должна быть?
Я понимаю, что для Symfony 2 уже очень мало "лучших практик", так как он совершенно новый.Но я хотел бы узнать, есть ли какие-либо практики, более предпочтительные, чем другие, по вашему мнению.
Любые отзывы более чем приветствуются.Заранее спасибо,
Дитер