Laminas

Laminas is the official successor to Zend Framework. When Zend Technologies transferred the project to the Linux Foundation in 2019, every Zend\ namespace became Laminas\, and the project continued under new governance. If you are working with a Zend Framework application today, Laminas is the direction that the migration path leads.

What Changed

The rename was primarily a namespace and branding change, not a rewrite. If your codebase was running on Zend Framework 3 components, the migration to Laminas involved updating namespace references, swapping Composer packages, and adjusting configuration keys. The core architecture, the service manager, the module system, the event manager, and the MVC layer all carried over directly.

The Zend to Laminas Migration Checklist on this site walks through those steps in detail. The Laminas project also provided an automated migration tool that handled the bulk of the namespace changes, though manual review was always necessary for edge cases, especially around configuration files and factory closures that referenced class names as strings.

For Zend Framework 1 applications, the path is less direct. ZF1 was never migrated to Laminas because it predated the architecture that Laminas inherited from ZF2 and ZF3. If you are maintaining a ZF1 codebase, the Modernising Zend Framework Applications guide covers strategies for incremental upgrades that may eventually lead toward Laminas or other modern frameworks.

What Stayed the Same

The fundamental design philosophy carried over. Laminas remains a component library. You can use laminas-db without laminas-mvc, or pull in laminas-validator for a project that uses a completely different framework. The service manager, dependency injection patterns, and event-driven architecture all work the same way they did under the Zend namespace.

The MVC layer in Laminas follows the same front controller and dispatch loop pattern described in the Architecture chapter of the book. The terminology, the request lifecycle, the plugin system - it is the same design with a different package name. Developers who understand ZF2 or ZF3 can read Laminas code without any ramp-up time.

Linux Foundation Governance

Moving to the Linux Foundation gave the project independent governance and removed the dependency on a single corporate sponsor. The Technical Steering Committee manages releases, security patches, and the project roadmap. This structure was designed to give the ecosystem long-term stability, which matters when you are making decisions about framework adoption for applications that need to run for years.

Current Status and Ecosystem

Laminas continues to receive maintenance releases and security patches. The component library covers a wide range of concerns: HTTP handling, authentication, authorisation, caching, configuration, database abstraction, form processing, input filtering, logging, mail, session management, and more.

Mezzio (formerly Zend Expressive) is the PSR-15 middleware runtime that sits alongside the traditional MVC layer. If you are starting a new project within the Laminas ecosystem, Mezzio is typically the recommended entry point. It uses PSR-7 HTTP messages and PSR-11 dependency injection, aligning with the broader PHP standards ecosystem.

For teams maintaining existing MVC applications, the full laminas-mvc stack remains a supported option. The choice between Mezzio and the MVC layer depends on whether you are building something new or maintaining something that already exists.

Relationship to the Book Content

The Zend Framework Book covers ZF1, which predates both ZF2/ZF3 and Laminas. The patterns in the book - the front controller, the model layer, the bootstrap process, the view system - all have direct equivalents in Laminas, but the implementation details differ. Reading the book gives you the conceptual foundation. The guides on this site bridge the gap between that foundation and modern practice.

The Bootstrap chapter demonstrates Zend_Application, which maps conceptually to the Laminas service manager and module bootstrapping. The Model chapter covers persistence patterns that still apply directly, even though the database abstraction layer API has changed. The Performance chapter discusses caching and autoloading concerns that remain relevant in any Laminas application.

Glossary Terms

  • Migration Path - planned steps for moving between framework versions
  • Front Controller - the single entry point pattern used in both ZF and Laminas
  • Bootstrap - application initialisation and resource configuration
  • MVC Pattern - the architectural pattern at the core of Laminas MVC
  • Autoloading - class resolution via Composer and PSR-4

See Zend Framework for the full history and chapter listing, PHP for language-level context, and Application Architecture for the design patterns that underpin both frameworks.