El proyecto Laminas (anteriormente Zend Framework o ZF ) es un marco de aplicación web de código abierto , orientado a objetos, implementado en PHP 7 y licenciado bajo la licencia New BSD . [3] El marco es básicamente una colección de paquetes profesionales basados en PHP [4] . [5] El marco utiliza varios paquetes mediante el uso de Composer como parte de sus administradores de dependencia 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 un soporte de la solución modelo-vista-controlador (MVC) en combinación con 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 de 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 se estaba transformando en un proyecto de código abierto alojado por la Fundación Linux que se conocería como Laminas.
Laminas tiene licencia New BSD License aprobada por la Iniciativa de Código Abierto (OSI) . Todas las nuevas contribuciones deben ir acompañadas de una confirmación del Certificado de origen del desarrollador . [8]
Zend Framework también tiene licencia New BSD License. Para ZF1, todos los colaboradores de código debían firmar un Acuerdo de Licencia de Colaborador (CLA) basado en el CLA de Apache Software Foundation . Las políticas de licencia y contribución se establecieron para evitar problemas de propiedad intelectual para los usuarios comerciales de ZF, según Andi Gutmans de Zend. [9] ZF2 y posteriores no tienen CLA. [10]
El proyecto Laminas sigue un sistema de control de versiones semántico . Los componentes del marco de trabajo se controlan con versiones independientes y se publican como paquetes de Composer independientes . Las dependencias entre los componentes del marco de trabajo se declaran como dependencias de Composer mediante rangos de control de versiones 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 de Zend Framework, los componentes se dividieron en paquetes con versiones independientes y zendframework/zendframework se convirtió en un metapaquete 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 a partir de la versión 2.5. No se agregaron nuevos componentes al metapaquete y el metapaquete en sí se suspendió 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 control de versiones para todo el 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 correspondiente, pero otros permanecieron en la versión 2, mientras que los nuevos componentes zend-diactoros, zend-stratigility y zend-expression se encontraban en la versión principal 1.
El proyecto Laminas no tiene una única versión del marco. Los componentes que se trasladaron desde Zend Framework continuaron con las versiones existentes y se migraron todas las versiones anteriores desde sus contrapartes. El metapaquete zendframework/zendframework no tiene una contraparte en Laminas.
Las láminas incluyen los siguientes componentes: [13]
El método de instalación admitido oficialmente es a través del administrador de paquetes Composer .
Laminas ofrece un metapaquete que incluye 61 componentes, pero la forma recomendada es instalar los componentes del marco requeridos individualmente. 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]
Laminas sigue un enfoque de configuración por encima de convenciones y no impone ninguna estructura de aplicación en particular. Hay aplicaciones básicas para zend-mvc y zend-expression disponibles que proporcionan todo lo necesario para ejecutar aplicaciones y servir como un buen punto de partida.
Zend Technologies , cofundada por los colaboradores principales de PHP Andi Gutmans y Zeev Suraski , fue el patrocinador corporativo original de Zend Framework. [14] Los socios tecnológicos incluyen a IBM , [15] Google , [16] Microsoft , [17] Adobe Systems , [18] y StrikeIron . [19]
Las características de las láminas incluyen: [20]
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 requeridas. Según Zend Technologies, Zend Server proporciona un rendimiento mejorado para PHP y especialmente 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 instalaciones de diagnóstico y monitoreo de aplicaciones. [23] Zend Studio es un IDE que incluye características específicamente 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, finalización 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 son gratuitos. Zend Server es compatible con herramientas de depuración comunes como Xdebug . Es posible que otros desarrolladores quieran utilizar una pila PHP diferente y otro IDE como Eclipse PDT , que funciona bien junto con Zend Server. Hay una versión gratuita preconfigurada de Eclipse PDT con Zend Debug disponible en el sitio web de Zend.
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]
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 es parte de Zend Framework y se alojará en el sitio web de Zend Framework, [27] pero se ha lanzado un sitio separado llamado simplecloud.org [28] para discutir y descargar las versiones más actuales de la API. La Simple Cloud API y varios servicios en la nube están incluidos en Zend Framework. Los adaptadores a los servicios en la nube populares han alcanzado la calidad de producción.
Zend Framework 3.0 se lanzó el 28 de junio de 2016. Incluye nuevos componentes como un servidor JSON RPC, un convertidor de 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 contribuyentes de Zend Framework están fomentando activamente el uso de Zend Framework versión 3.x. El final de vida establecido para Zend Framework 1 es el 28 de septiembre de 2016 y para Zend Framework 2 es el 31 de marzo de 2018. 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_once
declaraciones, la migración a espacios de nombres PHP 5.3, un conjunto de pruebas refactorizado, un Zend\Session
, y la adición del nuevo Zend\Stdlib
. La segunda versión de desarrollo se lanzó el 3 de noviembre de 2010. [30] La primera versión estable de Zend Framework 2.0 se lanzó el 5 de septiembre de 2012. [31]
{{cite web}}
: |last=
tiene nombre genérico ( ayuda )Mantenimiento de CS1: varios nombres: lista de autores ( enlace )