Zend Framework es un marco de desarrollo PHP de código abierto basado completamente en PHP5 desarrollado por Zend Company. Puede usarse para desarrollar programas y servicios web. Utiliza el patrón arquitectónico MVC (Modelo-Vista-Controlador) para separar diferentes partes de la aplicación. Facilitar el desarrollo y mantenimiento del programa.
ZF2 no es solo una actualización irregular como otros marcos, sino que reescribe completamente todo el código de ZF1. El lema principal es "alto rendimiento".
Echemos un vistazo a las nuevas características que trae ZF2:
1. Modularización (ModuleManager)
En comparación con ZF1, ZF2 admite de forma nativa el concepto de módulos. Cualquier programa PHP de terceros se puede convertir en un módulo Zend siempre que siga los estándares de codificación y la estructura del código de Zend. Actualmente, se ha lanzado un lote de módulos experimentales (consulte Módulos ZF2). Hay muchos proyectos excelentes como Doctrine ORM.
Es previsible que a medida que ZF2 madure lentamente, surgirán más y más módulos opcionales. Es posible que el desarrollo de proyectos futuros basados en ZF2 sea tan fácil y simple como construir bloques.
2. Impulsado por eventos (EventManager)
En los programas tradicionales, los códigos se ejecutan en una secuencia lineal, por lo que a menudo resulta difícil separar algunas funciones en un componente o módulo durante el desarrollo.
Basado en eventos, o gancho, cambia la forma en que se ejecutan los programas ordinarios de manera simplificada. Después de aplicar el control basado en eventos, el programa se ejecutará en forma de salto de "evento registrado" => "evento activado", que se puede ejecutar. sin afectar Con el código del programa original, es fácil agregar nueva lógica de negocios en cualquier ubicación, lo que hace que el desarrollo de proyectos sea extremadamente flexible.
3. Administrador de servicios
El concepto de administrador de servicios proviene de la idea de programación del "patrón de localización de servicios". Esta idea aboga por extraer cada función independiente en el programa como un "servicio". Cada servicio se puede reactivar de forma independiente. Solo cuando se llama al servicio, se iniciará el programa relacionado con el servicio.
Este es el secreto de la mejora del rendimiento de ZF2. La idea de ServiceLocator se refleja en todas partes en el proceso de inicio de MVC de ZF2. Las llamadas a módulos de funciones son extremadamente "tacañas", lo que seguramente será una gran sorpresa para los desarrolladores que han tenido problemas anteriormente. con la actuación de Zend.
4. Inyección de dependencia
La inyección de dependencia se usa ampliamente en los marcos Java convencionales y puede desacoplar efectivamente aplicaciones a gran escala. La introducción de Di en ZF2 ha pasado por repetidas consideraciones y compensaciones. Incluso después de ingresar a la etapa beta, Di todavía se usaba como la solución de implementación básica para ZF2, y toda la configuración de Mvc se basaba en Di. Al final, para evitar caer en el atolladero de programación de metadatos (Metaprogramación) que Di puede causar, Di solo se usa como la implementación inferior de ZF2 y ServiceManager se agrega a la capa superior. Los desarrolladores comunes no necesitan estar expuestos al nivel Di cuando usan ZF2. Sin embargo, esto no impide que DI exista y funcione como un excelente componente PHP.
5. Programación social
El código de ZF2 está completamente alojado en Github. Con el excelente diseño de Github, cualquiera puede participar fácilmente en la construcción del proyecto ZF2 a través de la bifurcación e incluso enviar nuevas funciones del módulo. El autor AlloVince también ayudó al equipo de Zend a corregir algunos errores y descubrió que el equipo de Zend respondió muy rápidamente (nunca más de 24 horas) y se tomó el tiempo para responder los comentarios en serio. Por lo tanto, participar en el proyecto ZF2 es una buena opción para participar en el proyecto de código abierto PHP.