Technology · Framework

Laminas — maintaining systems that have grown, instead of rebuilding them

Laminas is what Zend Framework became at the start of 2020; the handover to the Linux Foundation was agreed in 2019. We run it in existing systems: applications that have carried business processes for years and receive neither applause nor a relaunch for it. We keep them running, secure and able to connect to other systems — and modernise them where it pays off, not where it would be interesting.

in use in existing systems

What is Laminas?

Laminas is a PHP framework, formerly called Zend Framework, that today runs mainly in long-established business applications.

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.

Frequently asked questions

What happened to the Zend Framework?

The Zend Framework was handed over to the Linux Foundation in 2019, and the renamed Laminas packages appeared in January 2020. The package names changed, the basic structure stayed, and there are migration tools for the switch. Anyone still running Zend Framework packages today is working with code that receives no updates — which is less a functional problem than a security one. Moving to Laminas is usually manageable.

Should we rebuild our Laminas application on Symfony?

Rebuilding on Symfony only pays off if there is a business reason for it. A system that runs, is maintained and tolerates current PHP versions is not a renovation case. What argues for a move is accumulated technical debt, libraries without a successor, or new requirements that would be disproportionately expensive in the old structure. If it is rebuilt, then in steps: individual areas move to Symfony while the rest stays in production.

Do you take over Laminas projects nobody maintains any more?

Yes, taking over orphaned Laminas projects is everyday work at Sharpness. The first step is a stocktake of code, servers, access and dependencies — often more work than the development that follows. After that, security issues are dealt with, backups and monitoring are set up, and further development becomes plannable. The condition is that source code and access are complete; without them, every project starts with archaeology.

Laminas: existing system or new build?

We also take over systems that were built elsewhere — after a look at the code and the hosting.

What else we build with

Call Start a project