Estamos creando un SaaS que supervisa ciertos activos. Esto significa que toma datos, los guarda y los muestra en una interfaz web.Cómo compartir un modelo Symfony2 con varios proyectos
Para esto, tenemos unos pocos componentes que hemos creado con/se mueven a Symfony2:
- una aplicación de interfaz web, donde los usuarios pueden ver sus datos
- una aplicación web de administración de back-end, donde crear nuevos monitores, usuarios, etc.
- una API
- una aplicación que recupera los datos recibidos de una cola y los pone en nuestra base de datos (esto es ahora un script separado, pero estoy pensando en volver a trabajar esto como Comando Symfony que es llamado por cron)
Todas estas cuatro aplicaciones comparten el mismo modelo: nuestra base de datos principal que contiene todos los usuarios, monitores y datos.
Mi pregunta es: ¿cómo debo estructurar estos proyectos en Symfony2?
- ¿Creé un paquete separado que contiene las entidades para mi base de datos, y los cuatro proyectos incluyen esas entidades y trabajan con ellas?
- ¿Puedo hacer un directorio 'modelo' en la carpeta de mi aplicación Symfony, que todos los paquetes en mi directorio/src usan?
- ¿Alguna otra forma más limpia de hacer esto?
La opción 1 parece un poco rara, ya que un paquete, a mi entender, necesita enrutamiento, vistas, controladores, etc. Usarlo solo para entidades sería un poco extraño.
La opción 2 parece correcta, ya que la carpeta/app se considera 'comunal' de todos modos para todo lo que está en la carpeta/src (ya que, por ejemplo, los parámetros también se encuentran allí). Sin embargo, no hay una carpeta 'modelo' allí, y no estoy seguro de que debería haber?
Entiendo que ya hay muy pocas "mejores prácticas" para Symfony 2, ya que es completamente nuevo. Pero quería ver si hay prácticas más preferibles que otras, en su opinión.
Cualquier comentario es más que bienvenido. Gracias de antemano,
Dieter
Eso es lo que necesitaba saber :) ¡Gracias! – Dieter