The Evolution of Zend Framework to the Laminas Project
What Is Zend Framework?
Zend Framework, which was formerly led and managed by Rogue Wave Software, is now called the Laminas Project, and is managed by the Linux Foundation. The most important thing to know about this product transition is that Zend Framework has not gone away. However, to receive security updates, bug fixes, and new features for your Zend Framework code, you need to migrate it to the Laminas-branded packages.
What Is Laminas?
Laminas is the continuation of Zend Framework. This PHP framework that you know and love is still being used by leading organizations to support diverse solutions in areas such as eCommerce, content-management, healthcare, entertainment, and messaging. The community is still actively contributing to and improving it. Laminas is simply the next step in the evolution of Zend Framework.
What Has Changed?
Today, only the naming and governance of the framework has changed. The Laminas code base:
- Will run just like your Zend Framework code because the base is the same: it will just be using the code under new namespaces.
- Is now under an open governance model managed by the Linux Foundation.
- Will soon be under a technical charter with the Linux Foundation.
Why the Name Change?
To help flag this historical change in the technology’s life and protect Zend’s trademarks, the framework and its subprojects all needed new names:
- Zend Framework is now called Laminas.
- Apigility is now called Laminas API Tools.
- Expressive is now called Mezzio, which is a variation of the Italian word for middle.
Where Are the New Laminas Repositories?
To ensure seamless integrations between all Laminas packages and existing Zend Framework projects — including third-party libraries with Zend Framework code — the project's Technical Steering Committee migrated existing packages to new GitHub repositories, as shown in the following table:
|Original Project||Original GitHub Organization||Original PHP Namespace||New Project Name||New GitHub Organization||New PHP Namespace|
|Zend Framework (Components)||zendframework||Zend||Laminas (Components)||laminas||Laminas|
|Zend Framework MVC||zendframework||Zend||Laminas (MVC)||laminas||Laminas|
|Apigility||zfcampus||ZF/ZF\Apigility||Laminas API Tools||laminas-api-tools||Laminas\ApiTools|
There are a few outliers. Previously, both zf-development-mode and zf-composer-autoloading lived under zfcampus, and thus Apigility. However, they are now distributed as Laminas components.
In all cases, the original repository was marked as "Archived" on GitHub, which makes the repository read-only and prevents opening new issues, pull requests, and comments. Additionally, the related packages were marked "Abandoned" on Packagist, with a recommendation of using the equivalent Laminas package.
Migration Help for Upgrading to Laminas
Anyone can still install all existing Zend Framework, Apigility, and Expressive packages. However, these versions will no longer be maintained by the community.
To ensure your code has the latest security updates, bug fixes, and new features, you need to migrate to Laminas-branded packages. For guidance, please refer to the Laminas Project Migration Guide.
You can also engage Zend for help with your upgrades and for enterprise support.
The Latest on API Tools (Apigility) and Mezzio (Expressive)
Laminas API Tools (formerly Apigility) is built on the MVC platform. Because Mezzio (formerly Expressive) middleware provides greater flexibility and performance for APIs compared with MVC architectures, we are encouraging people to adopt Mezzio for their API needs.
While the API tooling for Mezzio is not yet complete, it will be one of the next big projects delivered by the Laminas community. Because the migration path from the MVC-based Apigility to middleware is not yet clear, and because those architectures are so different, we do not plan on making the new offering a "version 2" of the original. However, we will be providing ongoing maintenance and security fixes for the Laminas API Tools for the foreseeable future.
How Is Zend Contributing to Laminas?
Zend Framework started as a component framework, so people could pick the components that they want to use. And Laminas, which is the third iteration of Zend Framework, is continuing that goal. Zend is excited to create components for Laminas that bridge open source and commercial software.
The current list of components that Zend will be proposing to the Linux Foundation to add to Laminas is still in development. However, our team can reveal that we’re building some cool components around asynchronous PHP as well as microservices enablement and enterprise integrations.
Zend is also continuing to provide enterprise support and services for Zend Framework. Additionally, Zend just launched a new standalone enterprise support service for Laminas.
Want to learn more about the Laminas project? This webinar gives a good overview.
- Webinar: Migrating from Zend Framework to Laminas
- Webinar: What's Happening with Laminas?
- 101 Guide: Developing Web Applications with PHP
Note: This post includes information from blogs originally published on April 17, 2019, October 24, 2019, and December 3, 2019.