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?
Is PHP still a good choice for new projects?
How do we know how bad our code is?
Interested in PHP Development?
Outline what you need, and we will reply by email with questions or next steps.