Article

Zend Framework 3 Maintenance Center

Identify ZF3 componentized apps, Composer constraints, and the short path into Laminas packages with official migration tooling.

Zend Framework 3 continued the component model: applications declare the specific zendframework/zend-* packages they need instead of a single monolithic require. In practice, many ZF3 codebases are excellent candidates for laminas-migration because structure already resembles Laminas MVC—namespaces and package names are the primary mechanical delta.

Inventory checklist

  • Read composer.json / composer.lock for zendframework/* vs already-present laminas/*
  • Confirm PHP platform constraints before upgrading runtime
  • List custom modules that register factories or view helpers
  • Locate config caches under data/cache that must be cleared after migrate
// LEGACY composer require excerpt (illustrative)
{
  "require": {
    "php": "^7.1",
    "zendframework/zend-mvc": "^3.1",
    "zendframework/zend-router": "^3.0"
  }
}
// MODERN after successful Laminas migration (illustrative)
{
  "require": {
    "php": "^8.1",
    "laminas/laminas-mvc": "^3.3",
    "laminas/laminas-router": "^3.11"
  }
}

Guides in this center

Always put the tree under version control before running the migrate command; the official tool rewrites sources, updates composer.json, and removes composer.lock and vendor/. Details: migration tooling flagship.

Also see PHP 7 → PHP 8 checklist when raising runtime alongside the framework rename.

Related reading