Laminas project: the new version of Zend Framework
At the beginning of 2019, the Zend Framework community migrated its codebase to GitHub, which marked the beginning of the Laminas Project.
Zend Framework was originally run and sponsored by Zend Technologies, then passed to Rogue Wave Software. Now with the recent transition, it will be under the direction of an independent Technical Steering Committee and will be governed by a statute defined by the Linux Foundation.
Zend Framework has achieved wide adoption in the PHP ecosystem, with greater weight in the business environment. It has developed the foundation for countless business applications and services, such as content management, e-commerce platforms, healthcare systems, messaging services, entertainment platforms and portals, and APIs among many others. Now known as “Project Laminas”, will continue to provide PHP users who build these applications.
What is the Laminas Project?
The Laminas Project consists of a continuation of the Zend Framework with open source, a PHP framework, and a library of components focused on business applications.
Laminas comprises the following projects:
- Lamina and MVC components.
- Mezzio, a PHP middleware runtime and various runtime components and extensions.
- Laminas API Tools, an API generator and engine, built on the Laminas MVC runtime.
As part of the evolution of the Laminas Project, Zend Framework as well as all the subprojects that compose it, have been transferred to the Linux Foundation.
The Linux Foundation is home to a large number of highly successful open source projects and has experience with transitions of this type. The Laminas team is confident that this step and change in the governance model will allow them to focus on providing an innovative code that will be classified as the best, making use of the most demanding standards of transparency, safety and quality.
Currently, the Laminas team is working on a new funded project model, which involves a Governing Board that will be in charge of marketing the project, developing financing and partnerships, among others.
People interested in contributing to Laminas’ goal of becoming a project model can communicate with team members to learn more about membership, its benefits, and how your company can help the project’s ecosystem grow.
The changes implicit in the Laminas Project
Due to migration and all that it implies, the Laminas team found it necessary to differentiate the new project from the Zend brand. And to achieve this it has implemented new names.
The word “Laminas” is the plural of the word “lamina”, whose meaning is thin layer. The creators consider that this name represents briefly, the objectives that the project has:
- Components that can be composed or superimposed in any application.
- Middleware architectures are often called layered.
The Laminas Project will encompass the following:
- The different independent components.
- The MVC framework.
- The Apigility subproject, which becomes Laminas API Tools.
- The Expressive subproject, which becomes Mezzio.
Today, Laminas is managed by a Technical Steering Committee (TSC). This committee is in charge of making the decisions concerning the entire project, from what is related to finances to what has to do with marketing.
The TSC’s main objective is to make the best decisions about what will be kept, what they will work on, the accesses and the general direction of Laminas.
Once the project is financed and progresses as such, there will be two management entities: the aforementioned TSC and a Governing Board. At that time, the TSC will continue with responsibility for technical decisions, and the Governing Board will be in charge of the commercialization and marketing of Laminas.
On the other hand, it is also expected to have a team of developers who will be in charge of maintenance, administration of automation, web presence, as well as other necessary tasks. This team will also collaborate with the continuity of the Laminas Project.
What will happen to the Zend Framework?
Each of the Zend Framework components, including the MVC runtime, have been relocated to a new organization called “Laminas” on GitHub.
These migrations have also been executed:
- Apigility packages have been moved from the zfcampus organization to the Laminas API Tools organization.
- Expressive packages have been moved to the Mezzio organization.
On the other hand, all existing repositories have been archived. Which translates to will still be available on GitHub, but only for reading. In this way, existing facilities will be able to continue operating without problems, while making it clear that development has been transferred to new projects. For their part, the linked package entries in Packagist have been marked as obsolete and point to the new relevant packages as alternatives.
Each new package released by the Laminas Project has been marked as a replacement for the existing Zend Framework packages, and includes tools for aliasing the inherited classes to the new package classes. This facilitates seamless integration into existing projects, even when using third-party libraries that take advantage of the ZF code.
Finally, the Laminas Project team provides tools for updating your own code to use the new classes generated by the Laminas packages. It also provides the tools to help you update your dependencies to use the new Laminas packages to replace the Zend Framework versions. This is provided as a combination of a Composer plugin, setup post processors for MVC and Mezzio applications, and the sheet migration tool.