Actualmente estoy trabajando en un MMO basado en navegador y he elegido la pila LAMP debido al costo extremadamente bajo para empezar en producción (comparado con Windows + IIS + ASP.NET/C# + SQL Server, incluso aunque tengo MSDN Universal). Sin embargo, necesitaré un marco PHP para esto, ya que no es una tarea fácil. No estoy restringido por otra cosa que no sea la capacidad de ejecutar en Linux, ya que usaré una solución dedicada de alojamiento en la nube (y una imagen VMWare para el desarrollo) y puedo configurarla según sea necesario.Pregunta de estructura de PHP
En ningún orden específico:
- Tiene que ser fácilmente escalable; esto es crucial. Si el juego se convierte en un éxito constante, con el tiempo superará al servidor más allá de lo que proporciona el host y debería trasladarse a varios servidores con equilibrio de carga. Es crucial que esto se pueda hacer con el mínimo esfuerzo. Sé que esto podría requerir el seguimiento de convenciones estrictas, por lo que si conoce alguno para su marco sugerido, explique qué se necesitaría.
- Tiene que proporcionar módulos para todas las tareas principales: autenticación, ACL, acceso a bases de datos, MVC, etc. Uno o dos módulos faltantes están bien, siempre que puedan escribirse e integrarse fácilmente.
- Debe admitir la internacionalización. Creo que no hay excusa para que ningún framework web proporcione medios para traducir la aplicación y cambiar de idioma sin un gran esfuerzo por parte del programador.
- Debe contar con un muy buen soporte de la comunidad y, preferiblemente, soporte comercial también. Sí, sé que QCodo/QCubed es muy agradable, pero no está lo suficientemente maduro para esta tarea.
- Se requiere compatibilidad suave con AJAX. Si el marco viene con widgets compatibles con AJAX o tiene una manera fácil de agregar AJAX no es relevante, siempre que AJAX sea fácilmente factible. Planeo usar jQuery + Dojo o uno solo, no estoy seguro.
- Hacer cosas de forma auto-mágica cuando mejora la legibilidad y alivia mucho esfuerzo sería especialmente bueno si generalmente es confiable y no interfiere con otros requisitos. Este parece ser el caso de CakePHP.
He leído muchas comparaciones y sé que es un debate muy candente. La respuesta general es "prueba y ve por ti mismo lo que más te convenga". Sin embargo, no puedo decir que sea fácil para esta tarea y estoy pidiendo su experiencia en la creación de aplicaciones con requisitos similares. Hasta ahora estoy entre Zend y CakePHP por los criterios generales, sin embargo, todos los marcos bien conocidos ofrecen la misma funcionalidad de una manera u otra con diferentes enfoques, cada uno con sus propias ventajas y desventajas.
ediciones:
- soy un poco nuevo a MVC, sin embargo, estoy dispuesto a aprenderlo y no me importa si un marco es más fácil para los nuevos en MVC. Tengo mucho tiempo para aprender MVC y otras arquitecturas (o como se llamen) que recomiendas.
- Utilizaré Zend como un "framework" de utilidad, a pesar de que es solo una colección de librerías (aunque algunas buenas, como me han dicho).
- Los contendientes actuales de PHP son: CakePHP, Kohana, Zend solo.
¿Por qué llamas ZF un marco de utilidad? No es solo una colección de bibliotecas. Es un marco débilmente acoplado, lo que significa que puede usar todas sus clases por separado, pero juntas forman un marco sólido que puede ser (y es) utilizado para desarrollar rápidamente aplicaciones web grandes y complejas. –
Su interfaz débilmente acoplada combinada con su configuración-sobre-convencional hace que sea más un marco de utilidad a mis ojos. Es solo una opinión. – CMircea
Algo para leer: http://www.beyondcoding.com/2009/03/02/choosing-a-php-framework-round-2-yii-vs-kohana-vs-codeigniter/ –