What we use Laminas for
Laminas is not something we propose for new projects; it is a reality in existing ones. These are applications from the Zend Framework era that manage orders, hold customer data or control workflows a business depends on. We take such systems over even when the original developers can no longer be reached and the documentation consists of a handful of comments. That is the normal case, not the exception.
The tasks are rarely spectacular and usually important: raise the PHP version, update dependencies, close security holes, build in new requirements, add interfaces to the shop, the ERP or accounting. Then there is running the thing — servers, backups, monitoring, being reachable when something jams. For many clients that is the real value: there is someone again who understands the system and picks up the phone when it fails.
How we work with Laminas
It starts with taking stock: which Laminas or Zend version is running, which PHP version it tolerates, where someone has programmed around the framework, and what is tested at all. Then the ground is secured before anything is rebuilt — sorting out dependencies with Composer, adding tests for the critical paths, making errors visible. Without that net, every change to a grown system is a blind flight. Only then does the actual work begin.
Modernisation happens in steps. New functions are built cleanly separated, old areas are replaced one after another rather than rebuilding the system in a single leap. Where it makes sense, parts move behind an API or into a separate service that can run on Symfony, while the old system stays in production. A rebuild that ships nothing for months is not a plan, it is a risk.
Limits and alternatives
For new development we do not recommend Laminas. Symfony has the wider adoption, the more active ecosystem and the larger pool of developers who know it — and it is also the basis of Shopware 6. Anyone starting today should start there. Laminas remains the right frame for what is already written in it. That is not a judgement about the technology, but about the market around it.
Conversely, a running Laminas system is no reason for a rebuild. An application that carries the business, is maintained and tolerates current PHP versions can keep going for many years. Other things argue for replacement: outdated dependencies with no successor, business logic nobody understands any more, or requirements that would be more expensive in the old structure than a fresh start. That decision belongs in a calculation, not in a feeling.