Evaluación comparativa de extranjeros corriente PHP Framework



Recientemente se utilizó una simple comparación de la corriente en el país con más de unos pocos principal marco extranjeros PHP (no incluido el marco nacional), hay un marco general para estos sentimientos intuitiva, sencilla de compartir recursos, para la selección del marco de qué hacer cuandoJusto cuando uno de referencia.

El principal marco de referencia son: CodeIgniter, CakePHP, ZendFramework, Symfony.No en serio utilizar una gran cantidad del marco, sólo tiene que probar un poco inmaduro, o puede ser una opinión mucho es erróneo, por favor me corrijan, para crecer juntos.

CodeIgniter

Ventajas:

. Una simple configuración, configurado para utilizar todos los scripts PHP para configurar, ejecutar con eficacia alta, con capacidades básicas de enrutamiento para una ruta en cierta medida, una función de diseño preliminar, capaz de producir un cierto grado de apariencia; base de datos de capa de un buen paquetecon la función básica de MVC

. 2 Código poco rápida fácil de implementar de alto rendimiento, el marco es simple, fácil de usar, estudiar, bajo costo, el documento en detalle, viene con un montón de fácil de usar la biblioteca, el marco para pequeñas aplicaciones

Desventajas:

1. La capa de modelo interpretarse como una simple base de datos de las operaciones

2. Marco de algo simple, pequeñas aplicaciones sólo pueden ser satisfechos, un poco menos capaz de satisfacer las necesidades de las aplicaciones de tamaño medio

Clasificación:

En general, la toma para completar una aplicación rápida y fácil de CodeIgniter es todavía vale la pena construir un cierto grado de distribución, la reutilización de plantillas fáciles, la capa de manipulación de datos es un buen paquete, y CodeIgniter no utiliza muchos patrones de diseño son demasiado complejos para aplicarel rendimiento y la legibilidad del código son buenas.En cuanto a la biblioteca adicional también es bueno, simple y eficiente.

CakePHP

Ventajas:

1. CakePHP es el más similar al marco RoR, incluido el modo de diseño, activa el funcionamiento de bases de datos de registro medio y un nivel de diseño es muy elegante, no la colección de extras propios, todas las funciones son puro armazón, la eficiencia no es malo; capa de base de datosEl hasOne, función hasMany es muy potente, más apropiado a los procesos de negocio complejos, enrutamiento, configuración no es malo; automáticamente construir andamios (andamios) es muy fuerte, adecuado para aplicaciones de tamaño medio, la realización de base de la MVC en cada capa, con el comando automático de la operación en líneasecuencias de comandos;

2. Comparación de todo el documento, para promover más éxito en el país, la mayoría de ellos saben que CakePHP, los costos de aprendizaje moderadas

Desventajas:

1. CakePHP problema muy grave debe ser entendido como la capa de base de datos del modelo de operación ha afectado gravemente a la capacidad de operar fuera de la base de datos, además de

2 función de CakePHP caché poco débil, y las funciones de configuración un tanto débil;. CakePHP no es adecuado para aplicaciones a gran escala, las aplicaciones sólo para aplicaciones medianas y pequeñas, el costo de punto ligeramente elevado de aprendizaje

Clasificación:

En general, el marco de PHP CakePHP marco representa un importante representante y de una época, y actualmente está jugando un papel importante, muchos tienen que escribir su propia copia de CakePHP el marco del camino, es un producto hito; CakePHP revelar el RoR deLos métodos ágiles de desarrollo y la operación de base de datos que es el único modelo de ideas de diseño, como el desarrollo rápido de aplicaciones y creación de prototipos es una herramienta perfecta, también se utiliza para hacer sitio Web2.0 marco de desarrollo, también es digno de elección.

Zend Framework

Ventajas:

1. El funcionario producido, viene con un montón de biblioteca, el marco en sí utiliza una gran cantidad de patrones de diseño para escribir, muy elegante estructura, la eficiencia de medio; de diseño MVC, relativamente simple, con capacidades de enrutamiento, el archivo de configuración más potente (para manejarXML y PHP INI), una variedad de la colección es muy poderoso, todas las características marco de PHP, el más completo, que incluye no sólo un marco, es una biblioteca de clases grandes (en lugar de PEAR), que es su principal característica, aAdemás del apoyo directo para las operaciones de base de datos fuera de la capa de modelo (más fuerte que CodeIgniter y CakePHP), y se pueden cargar fácilmente utilizando las funciones de gestor de otros recién agregado de clase, función de memoria caché es muy potente, de frente al apoyo de back-end Caché,Caché de apoyo de back-end de Memcache, APC, SQLite, archivos y más formas; función de base de datos de operaciones es muy poderoso, soporta una variedad de controladores (adaptadores)

2. La documentación es muy completa, comunidad muy madura en el país, y muchos sitios Web 2.0 ahora en uso, el coste de secundaria aprenden

Desventajas:

1. Característica MVC completa débil, Vista capa simple aplicación (por ejemplo, no logró el mismo), no un control muy fuerte de la primera página

2. No hay secuencias de comandos automatizadas para crear una aplicación, incluyendo el archivo de importación, todos tienen su propio construido a mano, el alto costo de la entrada

3. Zend Framework marco de la aplicación como un medio no un gran problema, y puede apenas como un marco para aplicaciones a gran escala, sino como un marco muy maduro para PHP a gran escala, pero también tiene un poco de esfuerzo

Clasificación:

Producido en el marco oficial, la ambición de Zend Framework es predecible, tratando de obtener otros marcos, pero muchos la colección de paquetes de gran alcance que proporciona el marco para un servicio de ventanilla única, y su equipo de desarrollo es muy fuerte, no es lo suficientemente completacapacidad de desarrollar productos que salen muy fuerte, es esencial para determinar el Zend Framework prometedor, si se tarda más tiempo en el marco perfecto.Del mismo modo, Zend Framework es una arquitectura relativamente elegante en sí, que hay muchos oficiales Zend maestro, el diseño es relativamente avanzada, aunque no perfecta suficiente para lograr algunas características, como la capa de la Vista, scripts automatizados, etc, que dependen de futuroactualización.En general, los más esperados de Zend Framework es un marco, por supuesto, ahora tiene que poner su proyecto se ha completado sin problemas.

Symfony

Ventajas

1. Symfony framework PHP que yo sepa el más poderoso, y yo desde hace mucho tiempo, pero muchas características aún no excavado, y su aplicación completa de la capa de MVC, encapsula todo, incluyendo los $ _POST, $ _GET de datos, manejo de excepciones, depuración, detección de datos, contiene la función de caché de gran alcance, la clase de carga automático (Esta característica es tan fresco), el poderoso estado de soporte de i18n, que una operación de vista de capa muy fuerte puede ser fragmentado varios archivos que contienen una sola; capacidades de configuración muy potente, el uso de configuración yml para controlar el comportamiento de todos los marcos y en funcionamiento, lo suficientemente fuerte para hacer que la gente habla, eso es todo su propia definición arbitraria de la clase, y Symfony automáticamente carga (carga automática) de la clase,libremente en el programa pueden llamar, incluye un fuerte proyectos multi-nivel y la gestión de la demanda: Proyecto - Aplicaciones - Módulo - Acción, en virtud de un proyecto para satisfacer las necesidades de múltiples aplicaciones, y cada capa puede definirsus propias bibliotecas, los archivos de configuración, diseño, muy potentes funciones de línea de comandos, incluido el establecimiento de proyectos, crear aplicaciones, crear módulos, vaciar la caché y así sucesivamente;

2. Symfony es definitivamente la primera opción para el desarrollo de proyectos complejos a gran escala, porque el uso de Symfony, en gran medida se ahorrará los costes de desarrollo, y la colaboración con el tiempo, no hay problema, que se define en el proyecto sobre la base de la clase después de clase, cualquiera de los módulos pueden ser reutilizados,mucho código reutilización

Desventajas:

1. El modelo de base de datos que operan con pesos pesados impulsar y criollos, pero en la versión que he probado ha sido trasladado al complemento en ellos, puede o no puede

2. Caché no puede controlar cada vez que el caché es siempre el desarrollo y la depuración, la necesidad de realizar symfony cc, Symfony rc para limpiar y reconstruir la memoria caché;

3. La eficiencia no es alta, especialmente en el análisis del archivo de configuración de plantillas y el proceso de leer, pasar tiempo mucho;

4. Costo de aprendizaje es alta y no hay ninguna comunidad madura y la documentación, ni siquiera el manual chino, correspondiente a dominar todas las funciones, es necesario dedicar más tiempo

Clasificación:

Symfony es, sin duda marco a nivel de empresa, con Java la única zona que parece contrarrestar el poderoso marco de las cosas, cosas poderosas y complejas de aprendizaje natural, sino también el correspondiente desarrollo del proyecto más útil, los proyectos complejos naturales se recomienda el uso de Symfonypara hacer frente, creo que vale la pena, esta última es los costes de mantenimiento relativamente bajo, la reutilización es muy fuerte.Si se utiliza el correspondiente Symfony todos deben ser proyectos de Internet más complejo, es necesario considerar el problema correspondiente de la distribución de la base de datos, es necesario abandonar Symfony viene con el nivel de operación de base de datos, las necesidades de su propia definición, por supuesto, Symfony permite una arbitrariacapa del modelo estructural.

Resumen

Durante varios marcos tienen sus características propias, y son proyectos de código abierto, pero no el mismo que el marco para el proyecto, en general, más adecuado para proyectos pequeños CodeIngiter, CakePHP y Zend Framework es adecuado para proyectos de tamaño mediano, peso pesado más adecuada para grandes proyectos Symfony,Cuando la selección de los proyectos, se debería examinar el marco puede ser personalizado, escalabilidad, ya que cada proyecto no puede estar seguro de si va a cambiar a medida que cambian las necesidades.

En términos relativos, Zend Framework y Symfony capacidad relativamente fuerte para afrontar el cambio, en particular, libremente puede personalizar la capa del modelo de la Clase, puede ser muy conveniente para aumentar su negocio o clases de procesamiento de datos, yo personalmente recomiendo el uso de proyectos de gran escala en el marco.

CodeIngiter y CakePHP mismo en los proyectos de pequeñas y medianas empresas pueden desempeñar un papel importante en el desarrollo y la creación rápida de prototipos, el objetivo no es muy adecuado para el desarrollo del prototipo del proyecto claro.

Por supuesto, tal vez, para escribir un marco más adecuado.

Marco general para la evaluación de varios estima que muchas cosas no son el punto, que tentativamente buscar las mismas opiniones y sugerencias son bienvenidos correcciones!