Web Development

PHP development for existing and new systems

A huge amount of working business software runs on PHP, and much of it is older than the people now maintaining it. We keep those systems safe and move them forward without stopping your business.

If your application was written ten or fifteen years ago, it may be running on a version of PHP that stopped receiving security updates long ago. PHP’s own project supports each release for a limited period and publishes the dates, so it’s easy to check where you stand. An unsupported runtime isn’t just a technical concern: it can be awkward for cyber insurance, for client security questionnaires and for your hosting provider.

The tempting answer is a full rewrite. That can be the right call, but rewrites are slow and expensive, and they often lose years of business rules that only exist in the old code. Most of the time we’d start by getting the system onto a supported version, adding tests around the parts that matter, and improving it in stages.

Where this differs from our Laravel work

Our Laravel page covers applications built on that framework. This page is about everything else in PHP: hand-rolled applications, older frameworks such as CodeIgniter, Zend or early Symfony, and bespoke code nobody wants to own. When it’s time to replace a system entirely, legacy modernisation covers how to do it safely.

What PHP systems usually need

An unsupported PHP version

Deprecated functions and old extensions make the upgrade look frightening, so it keeps being put off.

No tests and no staging

Changes go straight to the live server, and the only way to find a bug is when a customer reports it.

Security debts

Raw SQL, unescaped output and hard-coded credentials are common in older code and need finding and fixing.

PHP services

PHP version upgrades

Static analysis to find breaking changes, followed by staged upgrades tested against a staging copy.

Security clean-ups

Parameterised queries, output escaping, secrets moved out of code and dependency updates.

Framework migration

Moving old procedural code to Laravel or Symfony a module at a time, with the application running throughout.

New features

Careful additions to older systems when the business can’t wait for a larger modernisation.

Deployment and version control

Getting code into Git and replacing FTP uploads with repeatable deployments.

Where it fits

  • Line-of-business systems built a decade or more ago
  • Applications failing hosting or security reviews
  • Teams who have lost their original developer

Technology

  • PHP 8
  • Symfony
  • Laravel
  • Composer
  • PHPStan
  • Rector
  • PHPUnit
  • MySQL
  • Docker

PHP questions

Can you upgrade old PHP without rewriting the application?
Usually, yes. Tools such as PHPStan and Rector find and fix many issues automatically, and the rest are worked through against a staging copy. Very old code on unsupported extensions can need more work, which we would flag in the initial review.
Is PHP still a good choice for new projects?
For web applications, yes. Modern PHP is a very different language from the PHP of 2010, with strong typing and good performance, plus one of the larger pools of developers in the UK.
How do we know how bad our code is?
Ask for a code review. A written review costs far less than a rebuild, and it tells you what actually needs fixing.

Interested in PHP Development?

Outline what you need, and we will reply by email with questions or next steps.

Start a Project