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