Hola, estoy queriendo desarrollar un backend. En él hay varios módulos (noticias, productos, páginas de contenidos, etc.). Este backend vamos a utilizarlo para desarrollar webs, así que la idea es desarrollar los módulos por separado ya que algunas webs llevarán unos módulos y otras otro.
El problema es que necesitamos tener módulos genéricos por ejemplo: usuarios, idiomas, etc... para que el módulo de noticias pueda acceder a usuarios e idiomas.
Con lo que la pregunta es:
- ¿Creo un bundle llamado "base" y los otros que extiendan de él? (¿Cómo se haría esto?)
- ¿Creo en cada bundle las tablas necesarias para su funcionamiento?
Gracias.
Respuestas
Para no llevarte a engaño, me gustaría decirte que lo que quieres hacer requiere de un dominio muy avanzado de Symfony. Separar una aplicación en bundles es muy sencillo, hacerlo buenos bundles independientes cuesta bastante y hacer lo que quieres es realmente difícil porque no hay una documentación completa con todos los pasos a seguir.
Lo que me gustaría proponerte es que echaras un vistazo a otros proyectos similares a lo que quieres hacer. La recomendación sería que los utilizaras en vez de programar tu propia solución. Pero si no es posible, al menos puedes utilizar esos proyectos como referencia de cómo hacer bien las cosas.
El proyecto más parecido al tuyo (y que tiene prácticamente todo lo que quieres hacer) se llama Sonata. Este proyecto tiene muy mala fama porque hace meses/años era horrible y porque su documentación es bastante mala. Pero todas las personas que han dedicado un tiempo a aprender cómo usarlo bien recomiendan su uso.
Otro proyecto similar que proporciona bloques lógicos para construir webs es Kunstmaan Bundles. Es mucho más sencillo y amigable que Sonata, pero podría considerarse técnicamente más limitado. Pero dependiendo de lo que queráis hacer puede ser suficiente.
@javiereguiluz
Muchas gracias.
@Zaidonch