Laminas Project (anteriormente Zend Framework o ZF ) es un framework de aplicaciones web orientado a objetos de código abierto implementado en PHP 7 y licenciado bajo la licencia New BSD . [ 3 ] El framework es básicamente una colección de paquetes profesionales basados en PHP . [ 4 ] [ 5 ] El framework utiliza varios paquetes mediante el uso de Composer como parte de sus gestores de dependencias de paquetes; algunos de ellos son PHPUnit para probar todos los paquetes, Travis CI para servicios de integración continua. Laminas proporciona a los usuarios soporte para el modelo-vista-controlador (MVC) en combinación con la solución Front Controller. [ 6 ] La implementación de MVC en Laminas tiene cinco áreas principales. Las funciones de enrutador y despachador para decidir qué controlador ejecutar en función de los datos de la URL , y las funciones del controlador en combinación con el modelo y la vista para desarrollar y crear la página web final. [ 5 ]
El 17 de abril de 2019 se anunció [ 7 ] que el marco está en transición hacia un proyecto de código abierto alojado por la Linux Foundation que se conocerá como Laminas.
Licencia
Laminas está licenciado bajo la licencia New BSD aprobada por la Open Source Initiative (OSI) . Todas las nuevas contribuciones deben ir acompañadas de una certificación de origen del desarrollador . [ 8 ]
Zend Framework también se licencia bajo la Licencia BSD Nueva. Para ZF1, todos los colaboradores de código debían firmar un Acuerdo de Licencia de Colaborador (CLA) basado en el CLA de la Apache Software Foundation . Las políticas de licencia y contribución se establecieron para prevenir problemas de propiedad intelectual para los usuarios comerciales de ZF, según Andi Gutmans de Zend. [ 9 ] ZF2 y versiones posteriores no requieren CLA. [ 10 ]
Componentes y control de versiones
El proyecto Laminas utiliza el versionado semántico . Los componentes del framework se versionan de forma independiente y se publican como paquetes Composer separados . Las dependencias entre los componentes del framework se declaran como dependencias Composer utilizando rangos de versionado semántico.
Antes de la versión 2.5 de Zend Framework, todos los componentes compartían la misma versión. A partir de la versión 2.5, los componentes se dividieron en paquetes con versiones independientes y zendframework/zendframework se convirtió en un metapackage de Composer. [ 11 ] Los componentes de Framework introducidos después de la división comenzaron en la versión 1.0, mientras que los componentes existentes continuaron desde la versión 2.5. No se añadieron nuevos componentes al metapackage y este se descontinuó después del lanzamiento de la versión 3.0.0.
Zend Framework 3 fue la última versión antes de que se descontinuara el versionado a nivel de framework. [ 12 ] En Zend Framework 3, las versiones principales de los componentes individuales ya no coincidían con la versión del framework y causaban confusión. Algunos componentes, como zend-mvc y zend-servicemanager, recibieron una versión principal que coincidía con la versión del framework, pero otros permanecieron en la versión 2, mientras que los componentes recién introducidos zend-diactoros, zend-stratigility y zend-expressive estaban en la versión principal 1.
El proyecto Laminas no utiliza una única versión del framework. Los componentes que migraron desde Zend Framework conservaron sus versiones existentes y se migraron todas las versiones anteriores desde sus contrapartes. El metapackage zendframework/zendframework no tiene equivalente en Laminas.
Las láminas incluyen los siguientes componentes: [ 13 ]
Instalación
El método de instalación oficialmente compatible es a través del gestor de paquetes Composer .
Laminas proporciona un metapackage que incluye 61 componentes, pero se recomienda instalar individualmente los componentes del framework necesarios. Composer resolverá e instalará todas las dependencias adicionales.
Por ejemplo, si necesita el paquete MVC , puede instalarlo con el siguiente comando:
$ compositor requiere laminas/laminas-mvc La lista completa de componentes está disponible en la documentación de Laminas Framework. [ 13 ]
Anatomía del marco
Laminas sigue un enfoque de configuración por encima de la convención y no impone ninguna estructura de aplicación en particular. Se encuentran disponibles aplicaciones base para zend-mvc y zend-expressive, que proporcionan todo lo necesario para ejecutar aplicaciones y sirven como un buen punto de partida.
Patrocinadores y socios
Zend Technologies , cofundada por los colaboradores principales de PHP, Andi Gutmans y Zeev Suraski , fue el patrocinador corporativo original de Zend Framework. [ 14 ] Entre los socios tecnológicos se incluyen IBM , [ 15 ] Google , [ 16 ] Microsoft , [ 17 ] Adobe Systems , [ 18 ] y StrikeIron . [ 19 ]
Características
Las características de las láminas incluyen: [ 20 ]
- Todos los componentes son PHP 5 totalmente orientados a objetos y cumplen con E_STRICT, lo que ayuda en el desarrollo de pruebas de compilación y en la escritura de código de una manera que permite crear aplicaciones sin errores y a prueba de fallos. [ 21 ]
- Arquitectura de uso flexible con componentes débilmente acoplados e interdependencias mínimas.
- Implementación MVC extensible que admite diseños y plantillas basadas en PHP de forma predeterminada.
- Compatibilidad con múltiples sistemas y proveedores de bases de datos, incluyendo MariaDB , MySQL , Oracle , IBM Db2 , Microsoft SQL Server , PostgreSQL , SQLite e Informix Dynamic Server.
- Composición y envío de correo electrónico, recuperación a través de mbox , Maildir , POP3 e IMAP4.
- Subsistema de almacenamiento en caché flexible con soporte para muchos tipos de backends, como memoria o un sistema de archivos .
- Con la ayuda de los servicios de llamada a procedimiento remoto (RPC) y REST ( Transferencia de estado representacional ), Zend Apigility ayuda a los desarrolladores a crear API, autenticación de API , documentación de API, modificación fácil [ 22 ].
Desarrollo de aplicaciones
Las aplicaciones Laminas pueden ejecutarse en cualquier pila PHP que cumpla con los requisitos técnicos. Zend Technologies proporciona una pila PHP, Zend Server (o Zend Server Community Edition), que se anuncia como optimizada para ejecutar aplicaciones Laminas. Zend Server incluye Zend Framework en sus instaladores, junto con PHP y todas las extensiones necesarias. Según Zend Technologies, Zend Server proporciona un rendimiento mejorado para PHP y especialmente para aplicaciones Zend Framework a través de la aceleración de código de operación y varias capacidades de almacenamiento en caché, e incluye herramientas de monitoreo y diagnóstico de aplicaciones. [ 23 ] Zend Studio es un IDE que incluye características específicas para integrarse con Zend Framework. Proporciona una vista MVC, generación de código MVC basada en Zend_Tool (un componente de Zend Framework), un formateador de código, autocompletado de código, asistencia de parámetros y más. [ 24 ] Zend Studio no es software libre, mientras que Zend Framework y Zend Server Community Edition sí lo son. Zend Server es compatible con herramientas de depuración comunes como Xdebug . Otros desarrolladores quizás prefieran usar una pila PHP diferente y otro IDE como Eclipse PDT , que funciona bien con Zend Server. En el sitio web de Zend está disponible una versión gratuita y preconfigurada de Eclipse PDT con Zend Debug.
Estándares de código, documentación y pruebas
Las contribuciones de código a Laminas están sujetas a rigurosos estándares de código, documentación y pruebas. Todo el código debe cumplir con los estándares de codificación del proyecto y las pruebas unitarias deben alcanzar una cobertura de código del 80 % antes de que el código correspondiente pueda trasladarse a la rama de lanzamiento. [ 25 ]
API en la nube sencilla
El 22 de septiembre de 2009, Zend Technologies anunció [ 26 ] que trabajaría con socios tecnológicos como Microsoft , IBM , Rackspace , Nirvanix y GoGrid, junto con la comunidad de Zend Framework, para desarrollar una API común para servicios de aplicaciones en la nube llamada Simple Cloud API . Este proyecto forma parte de Zend Framework y se alojará en el sitio web de Zend Framework, [ 27 ] pero se ha lanzado un sitio independiente llamado simplecloud.org [ 28 ] para discutir y descargar las versiones más recientes de la API. Simple Cloud API y varios servicios en la nube están incluidos en Zend Framework. Los adaptadores para servicios populares en la nube han alcanzado la calidad de producción.
Desarrollo actual
Zend Framework 3.0 se lanzó el 28 de junio de 2016. Incluye nuevos componentes como un servidor JSON RPC, un convertidor XML a JSON, funcionalidad PSR-7 y compatibilidad con PHP 7. Zend Framework 3.0 se ejecuta hasta 4 veces más rápido que Zend Framework 2, y los paquetes se han desacoplado para permitir una mayor reutilización. [ 12 ] Los colaboradores de Zend Framework están fomentando activamente el uso de la versión 3.x de Zend Framework. El fin de vida útil declarado para Zend Framework 1 es 2016-09-28, y para Zend Framework 2 es 2018-03-31. La primera versión de desarrollo de Zend Framework 2.0 se lanzó el 6 de agosto de 2010. [ 29 ] Los cambios realizados en esta versión fueron la eliminación de require_oncedeclaraciones, la migración a espacios de nombres de PHP 5.3, un conjunto de pruebas refactorizado, una reescritura Zend\Sessiony la adición del nuevo Zend\Stdlib. La segunda versión de desarrollo se publicó el 3 de noviembre de 2010. [ 30 ] La primera versión estable de Zend Framework 2.0 se publicó el 5 de septiembre de 2012. [ 31 ]
Véase también
Referencias
- ↑ "Archivos" . Zend Framework . Archivado del original el 10 de mayo de 2013. Recuperado el 1 de mayo de 2013 .
- ↑ "zendframework/zendframework" . GitHub . Archivado del original el 29 de julio de 2017. Consultado el 17 de mayo de 2017 .
- ↑ "Introducción a Zend Framework" . Guía de referencia del programador de ZF . Archivado del original el 11 de febrero de 2009. Consultado el 12 de febrero de 2009 .
- ↑ "Tutorial de PHP 5" . www.w3schools.com . Consultado el 20 de febrero de 2017 .
- 1 2 "Zend Framework - Acerca de" . framework.zend.com . Archivado del original el 6 de febrero de 2017. Consultado el 5 de febrero de 2017 .
- ↑ Supaartagorn, C. (2011). PHP Framework para la gestión de bases de datos basado en el patrón MVC. International Journal of Computer Science & Information Technology (IJCSIT) , 3 (2), 251-258.
- ↑ "De Zend a Laminas" . 17 de abril de 2019.
- ↑ "Acta Técnica (la "Acta") para el Proyecto Laminas, una serie de proyectos de LF Projects, LLC" . GitHub . Archivado del original el 3 de agosto de 2022. Consultado el 3 de agosto de 2022 .
- ↑ Gutmans, Andi (27 de octubre de 2005). "Zend Framework (la publicación es demasiado larga, así que asegúrate de tomar un café)" . Andi en Web e Informática . Archivado del original el 8 de julio de 2011. Consultado el 11 de febrero de 2009 .
- ↑ "Guía del colaborador (ZF v1)" .
- ↑ "Split Framework" . GitHub .
- 1 2 zendframework (28-06-2016). "¡Zend Framework 3 lanzado!" . Archivado del original el 24-01-2022 . Recuperado el 12-10-2016 .
- 1 2 "Documentación para los componentes ZF" .
- ↑ "Historia de PHP y proyectos relacionados" . The PHP Group. Archivado del original el 8 de julio de 2008. Consultado el 11 de febrero de 2009 .
- ↑ LaMonica, Martin (25 de febrero de 2005). "IBM respalda el software web de código abierto" . cnet.com . Consultado el 11 de febrero de 2009 .
- ↑ Kernel, Sean Michael (2006-12-20). "Google Data se une al marco de trabajo PHP Zend" . internetnews.com . Archivado del original el 12 de junio de 2021. Consultado el 11 de febrero de 2009 .
- ↑ Krill, Paul (31 de octubre de 2006). "Microsoft y Zend impulsan PHP para Windows" . infoworld.com . Archivado del original el 10 de marzo de 2009. Consultado el 11 de febrero de 2009 .
- ↑ Potter, Mike (21 de mayo de 2014). "Adobe contribuye con soporte AMF a Zend Framework" . El blog oficial del equipo Flex . Archivado del original el 7 de febrero de 2009. Recuperado el 11 de febrero de 2009 .
- ↑ "Socios destacados de StrikeIron" . Archivado del original el 11 de abril de 2009. Consultado el 11 de febrero de 2009 .
- ↑ "Acerca de Zend Framework" . Archivado del original el 11 de febrero de 2009. Consultado el 11 de febrero de 2009 .
- ↑ ¿Por qué usar Zend Framework? Archivado el 8 de mayo de 2016 en Wayback Machine por SuntecOSS, consultado el 21 de abril de 2016.
- ↑ Zend's Apigility, un creador de API de código abierto para desarrollar API de calidad. Por SuntecOSS, consultado el 19 de mayo de 2016.
- ↑ "Sitio web de Zend" . Zend.com . Consultado el 17 de mayo de 2017 .
- ↑ "Descarga Zend Studio: IDE, analizador de rendimiento PHP, móvil, pruebas unitarias y más" . www.Zend.com . Archivado del original el 1 de junio de 2017. Consultado el 17 de mayo de 2017 .
- ↑ "Guía para colaboradores de Zend Framework" . 1 de julio de 2006. Archivado del original el 18 de mayo de 2008. Consultado el 14 de julio de 2008 .
- ↑ "Comunicado de prensa de Simple Cloud API" . Archivado del original el 1 de diciembre de 2009. Consultado el 5 de noviembre de 2009 .
- ↑ "Sitio web de Zend Framework" . Archivado del original el 5 de junio de 2009. Consultado el 5 de noviembre de 2009 .
- ↑ "simplecloud.org" . Archivado del original el 25/09/2009 . Consultado el 05/11/2009 .
- ↑ "Zend Framework 2.0.0dev1" . 6 de agosto de 2010. Archivado del original el 21 de agosto de 2010. Consultado el 4 de septiembre de 2010 .
- ↑ "Zend Framework 2.0.0dev2" . 3 de noviembre de 2011. Archivado del original el 16 de julio de 2011. Consultado el 18 de marzo de 2011 .
- ↑ "¡Lanzamiento de Zend Framework 2.0.0 ESTABLE! - Zend Framework - Zend Framework" . Framework.zend.com. 5 de septiembre de 2012. Archivado del original el 21 de julio de 2021. Consultado el 14 de junio de 2013 .
Enlaces externos
- Bibliotecas informáticas gratuitas
- Sistemas de gestión de contenido gratuitos
- Frameworks de PHP
- Software que utiliza la licencia BSD.
- marcos de trabajo web
