---
title: "Modernizing Legacy PHP Applications: A Case Study by Apidemia"
description: "A real case study: auditing and modernizing a client's outdated PHP website and admin panel."
og:
  image: images/app/opengraph/og-modernizing-legacy-applications.png
---

# Modernizing Legacy PHP Applications: A Case Study by Apidemia

Published on: 20-06-2023

Here's what modernizing an outdated PHP platform actually looks like, end to end - a real client's main website (the "website") and its administration panel (the "admin"), both showing their age.

## The problem

The client's website and admin ran on an unsupported PHP version, falling further behind on security with every release cycle. New features meant custom workarounds instead of readily-available packages - slower to build and less secure. Worst of all, routine content maintenance had turned into a full-time job, because debugging the code took far longer than it should have.

![Modernizing Legacy PHP Applications: a case study by Apidemia](/images/pages/case-study-modernizing-code.png)

## The analysis

We started with access - server environment, codebase, dependencies - to see what we were actually dealing with. Both applications were running PHP 7.2: already unsupported, and blocking any dependency updates. The target was PHP 8.1, but a straightforward environment update broke entry points across both applications immediately.

That sent us deeper: what was actually preventing the update, and what would compliance with current standards require? The website ran on [XpressEngine](https://www.xpressengine.com/); the admin ran Zend Framework 2. Both needed real attention - refactoring core code, closing security gaps, and taking advantage of what newer dependency versions actually offered instead of carrying obsolete workarounds forward.

## The solution

We gave the client a clear list of must-haves and nice-to-haves aimed at a future-proof, cost-effective result that stayed maintainable and extensible. With the website's PHP 7.2 support window closing, the plan was to rebuild it on [Laminas/Mezzio](https://getlaminas.org/) - and to replace the admin's Zend Framework 2 with the same stack. Both were built on separate domains so day-to-day operations were never interrupted, then swapped in once ready. The client walked away with a clear picture of where both applications actually stood, and a decision they could make with real information.

## How can this help you?

If you already suspect your code is outdated, the smart move is to look into it before it becomes urgent. We can run an analysis like this one for your platform - what it would take, and what it would cost - so you're deciding with facts instead of guesswork.

## Why work with Apidemia on this?

Twenty years of PHP, and we're an official Laminas commercial vendor - one of a short list endorsed by the technology's own stewards.
Most of our engineers are ZCE (Zend Certified Engineers).
We build for the long term - projects that don't need a rewrite again in three years.

[Talk to us](/#contact) about your platform.
