2009-02-26 30 views
5

Tengo cierta exposición a CakePHP y creo que es un gran marco. Luego, me encuentro con esta cosa llamada Qcodo. Es otro Framework PHP. He estado escuchando mucho a Zend. Todos parecen muy claros, pero me pregunto cuáles son las diferencias entre todos estos marcos.Qcodo vs. CakePHP vs. Zend

Antes de perder demasiado tiempo aprendiendo otro framework, ¿Alguien conoce los pros y contras de cada framework?

Todos parecían tener el objetivo general: hacer que el desarrollo de aplicaciones web en PHP sea fácil, modular y escalable.

EDITAR Encontramos este resultado de la comparación interesante entre CakePHP and Zend

Respuesta

6

Nunca he oído hablar de Qcodo.

CakePHP es un framework completo con mucha automatización, pero desafortunadamente es uno de los slowest frameworks out there. Tampoco tiene foros oficiales, y realmente no hay tanta actividad de una comunidad. Intenta ser un clon de Ruby on Rails, pero eso no funciona tan bien con PHP.

Zend es impresionante. Tiene una comunidad fuerte y un respaldo corporativo. Es muy destacado, pero también está muy hinchado (ver ese punto de referencia) por lo que tiene un rendimiento moderado. Por lo que he escuchado, puedes usar los componentes por separado sin usar todo el framework, ¡e incluso puedes usarlos con otros frameworks!

Uso CodeIgniter en el trabajo y me encanta. Es por lejos el framework más amigable para los novatos, y con tu experiencia en CakePHP debería ser muy fácil. Tiene very good documentation que es minucioso, claro y está bien escrito. Hay algunas características que no tiene (como un ORM) que otros marcos tienen, pero CI tiene una de las comunidades marco más activas que he visto. Dado que es fácil escribir bibliotecas para ello, puede encontrar una biblioteca que haga prácticamente todo lo que desee: ORM, autenticación, etc. Para agregar a esto, si desea un ORM para CI, recomiendo DataMapper.

Quizás también desee comprobar Kohana. Es un spin off de CodeIgniter. Es estrictamente PHP5 y tiene un ORM y algunas características más. Aunque no lo he usado yo mismo, pero he escuchado cosas buenas.

+0

La comparación a la que hace referencia es realmente defectuosa, y no sé de dónde sacas los "hechos" de CakePHP, pero se equivocan. –

+2

¿Cómo? Lo único peor que yo para dar "hechos erróneos" es que me estás refutando en vano. – ryeguy

+0

Proporcioné un punto de referencia sobre lo lento que es Cake, y hay muchos más con la misma conclusión. No hay foros oficiales Muchas de las características mágicas de Ruby on Rail necesitan soluciones casi piramidales en PHP, lo que lleva a la degradación del rendimiento. Nada de esto es subjetivo, es todo un hecho. – ryeguy

4

recomiendo la lectura de las características de cada uno y determinar lo que necesita y mirando las muestras de código de las características que va a utilizar más.

Algunos marcos pueden parecerle intuitivos, pero no a otros. Seleccionar un marco PHP es una opción muy personal de OMI.

He estado usando CodeIgniter después de usar CakePHP por un tiempo. La razón principal del cambio fue debido al rendimiento, pero CakePHP ha recorrido un largo camino en los últimos años, por lo que probablemente ya no sea una razón válida.

[Editar:. Al parecer, todavía tiene deficiencias de rendimiento, ver post por ryeguy y comentarios]

nunca he encontrado Zend para ser intuitivo y nunca he mirado en Qcodo.

Wikipedia tiene un list of web app frameworks by language, puede encontrar información que lo ayude a decidir también.

0

Uso CodeIgniter principalmente porque tiene una documentación realmente buena y tiene la reputación de ser fácil de usar. Además, Rasmus dijo que era su favorito, lo cual es una razón poco convincente, pero no he tenido quejas.

+0

CI no estaba en la lista para comparar. – rick

0

No ignore Symfony, it rocks. Diría que sus mayores fortalezas son un enfoque consistente de "ir con la mejor práctica" en todos los niveles, una comunidad vibrante y documentación excelente.

3

utilizo tanto Qcodo & Zend Framework

Qcodo es un framework MVC de generador de código, una gran cantidad de códigos se ganerated a partir del diseño de base de datos, y producir listo para usar Buscar & Editar formulario para cada uno de su tabla de base de datos . También maneja la relación de la tabla de la base de datos para pregenerar un conjunto de métodos para la relación uno a muchos/muchos a muchos entre tablas.

Debido a que estos códigos fueron generados a partir del diseño de su base de datos, todos los códigos fueron optimizados para cada proyecto. En resumen, es un marco de database oriented

..................................... ..............

Zend Framework está diseñado, por lo que sé del fundador de este proyecto), para desacoplar todos los modelos, y de hecho están desplegando una gran cantidad de modelos listos para usar para diferentes tipos de proyectos, desde Zend_ACL (lista de control de acceso para auttenication), Zend _Search _Lucene, Zend _Service _Twitter, Zend _Service _Flickr, etc.). Y creo que habrá para el futuro.

2

¡Mi voto para Qcodo! Hace un tiempo investigué qué era lo mejor para mí, y el resultado es qcodo, hoy en día no puedo hacer un proyecto sin considerar usar qcodo, o al menos su parte de manejo de base de datos que es absolutamente fantástica.

+0

¿Qué te gustó de esto? Lo estamos usando y la falta de una comunidad ha sido un gran desafío. – Angela

+0

Si buscas una comunidad, te animo a que cambies a QCubed, la bifurcación comunitaria de QCodo. Los foros son mucho más activos y las personas aportan código (complementos) a la izquierda y a la derecha: ya hay docenas. –

+0

Estoy de acuerdo Alex, QCubed es el camino a seguir ... Angela QCodo tiene un largo proceso de aprendizaje, puede ser difícil para los principiantes, pero una vez que lo dominas puedes hacer algo realmente poderoso con él. Lo mejor es que una vez que haya configurado la base de datos, es muy fácil trabajar con datos de la base de datos, por lo que, como una respuesta más abajo comentada, si se trata de un proyecto de base de datos, no puede fallar con QCodo. – Mark

2

Creo que Simfony es el mejor framework PHP aunque no lo he usado. Usé principalmente Qcodo/Qcubed, pero me estoy moviendo a Rails, esta es la razón por la que encuentro que Simfony no está mal. Probé Code Igniter y no, es simple de usar, ligero (supongo), pero no tiene ningún andamio, pero esto podría cambiar ahora. Como dijo otro hombre, puede usar un ORM externo porque CI no tiene uno por defecto. Zend Framework tiene una arquitectura muy modular y tiene muchas bibliotecas. Usé Zend_ACL pero la herencia de permisos era un problema así que hice mi propia implementación, las consultas Zend_Lucene no encontraron los datos que necesitaba ... ZF es un marco de muy bajo nivel y también necesita un ORM. Eché un vistazo a CakePHP pero encontré que su interfaz de base de datos no está al nivel de Propel, Qcodo y Doctrine, pero creo que puedes usar tu propia biblioteca.

lo general quiero en un marco:

  • ORM y el objeto envolviendo la fila real en la base de datos ($ objUser-> Nombre = 'Jack')
  • MVC - la mayor parte del MVC son
  • generadores de código (Qcodo es fantástico para generar código de la base de datos)
  • controlador frontal, enrutamiento y URL amigable (Qcodo no tiene uno)
  • plantilla Limpio (Qcodo tiene $ objLabel-> Render(); no etiquetas reales)
  • métodos auxiliares como link_to, image_tag etc (Simphony y Ruby on Rails) la migración
  • Base de datos para llevar un registro de base de datos cambia
  • marco de pruebas integrado para probar la aplicación real, no pocas funciones aisladas (rieles hacer eso y mayo Simfony)
  • La comunidad y la popularidad del framework.

La mayoría de los desarrolladores avanzados de PHP que conocí usan Simfony, pero esto es solo por mi experiencia personal.

Concluyendo, yo usaría el bit de Simfony. Recomiendo probar Rails usando Ruby o JRuby.

1

La determinación del mejor marco debe ser una decisión de proyecto por proyecto. Si tiene una gran base de datos que utiliza el motor de innoDB y muchas relaciones entre las tablas, consulte QCubed (Qcodo). No he visto un marco que maneje relaciones complejas de ORM, ¡incluso revertir las relaciones con facilidad! También es bastante rápido en el manejo de consultas complejas (por ejemplo, consultas de relaciones inversas), aunque el rendimiento en cualquier marco depende en gran medida de la capacidad del codificador para escribir de manera eficiente.

Si está construyendo un CMS, querrá Zend o Symfony para las capacidades de MVC. QCubed/codo supuestamente está basado en MVC, pero no parece tan claro como Zend. QCodo también DEPENDE de no cambiar nunca la estructura de su base de datos: se puede administrar, pero es realmente doloroso agregar nuevos campos a una tabla de bases de datos una vez que se ha lanzado un sitio porque genera automáticamente clases personalizadas para cada tabla.

+0

Este comentario acerca de no cambiar nunca su base de datos no es verdadero. Mientras que Qcodo generará código, por ejemplo, la clase UsersGen basada en la tabla de usuarios, hay una clase derivada llamada Users. Nunca editas UsersGen, pones tus personalizaciones en la clase de usuarios. –

0

Yo; m usando QCubed, el sucesor de QCodo. Es simplemente lo mejor que puede obtener de un marco PHP de código abierto. Es bastante rápido si sabes cómo hacerlo funcionar. El único inconveniente es que falta la documentación. Sin embargo, el sitio de ejemplos es excelente. ¡Comience a usarlo y apuesto a que tendrá mucha paz! :)

Cuestiones relacionadas