Modernizing Legacy PHP Applications: A Case Study by Apidemia

Published on: 20-06-2023

In this case study we explore how Apidemia, a team of coding experts, undertake the task of modernizing a company's outdated main website (the 'website') and its administration panel (the 'admin').

The problem

The client worried that the older, unsupported PHP version on both website and admin would fall behind on cybersecurity. Any new features required custom solutions that took more time to implement and were less secure than readily-available 3rd party packages. Perhaps worst of all, maintenance of the site content became a full-time job, since debugging the code was a long and costly process.

The analysis

In order to provide a first-stage analysis, our coding experts requested access to the server to check its environment settings, including acces to the codebase to review the core code and its dependencies. Apidemia identified that the website and admin were running on PHP version 7.2, which on the one hand was already outside the support period and on the other did not allow updating dependencies to their most recent versions. The goal was to run the applications in PHP 8.1, but a simple update of the server environment caused many entry points to not function any more.

Then Apidemia made a more in-depth analysis to identify the deep-rooted causes that prevented PHP from being updated, its compliance with industry standards and legal requirements. The website was built in XpressEngine and the admin used Zend Framework 2. Both required deep attention on multiple levels, from refactoring the core code, to fixing some glaring security issues, to utilizing the advantages provided by the newer versions for many dependencies that rendered some core code obsolete.

The solution

The client was given a detailed list of must-haves and nice-to-haves that ensured a future-proof, cost-effective operation and promoted maintainability and extensibility. Given that the website would only run for as long as hosting provided PHP version 7.2, the future-proof solution was to refactor the website using Laminas/Mezzio. The admin would need to have its Zend Framework 2 replaced with the latest version of Laminas/Mezzio. The updates would be built on separate domains or subdomains to not affect the current day-to-day activity. Both would be replaced with the new versions upon completion. This advice gave the owner a clear image of the current status of both applications and allowed them to decide how to proceed.

How can this case study help me?

If you know your code has become outdated, you should look into ways to modernize it, sooner rather than later. Contact the Apidemia team and we can send you an analysis like the above for a continuous upgrade process and its costs. The benefits are obvious, so why wait until it's too late?

Why choose Apidemia for updating and modernizing my platform?
  • Apidemia is one of the few companies that are official commercial vendors for Laminas.
  • Our projects are built for the long term, 10-15-20 years, without fundamental changes.
  • We keep the stack updated with regular updates that take advantage of newer packages.
  • We have a team of highly experienced software engineers, business developers, testers and managers. Most of our developers are ZCE (Zend Certified Engineers) and are familiar with the most efficient design architecture and coding practices