PHP in 2026 is actually good. Here are my receipts.
11 people, 31 client apps, and one language everyone keeps telling me is dead
Contents
Every few weeks somebody in a thread here tells me PHP is dead. I run an 11 person agency in Karachi. This month PHP paid 11 salaries, our office rent, two laptops and a very expensive coffee machine. If this is death, it is a well paid one.
But "it pays" is not an argument about quality, so here are actual receipts. And at the end, what is still bad, because I am not a fan club.
Receipt 1: the language grew up
PHP 7 was roughly twice as fast as 5.6 on real apps, and every 8.x release since added things I actually use daily: enums, readonly properties and classes, match, union and intersection types, never, DNF types, typed class constants in 8.3, and in 8.4 property hooks and asymmetric visibility. This is modern PHP:
final class Invoice
{
public private(set) InvoiceStatus $status = InvoiceStatus::Draft;
public string $number {
set(string $value) {
if (! preg_match('/^INV-\d{6}$/', $value)) {
throw new InvalidArgumentException("bad invoice number: $value");
}
$this->number = $value;
}
}
public function __construct(
string $number,
public readonly Money $total,
) {
$this->number = $number;
}
public function send(): void
{
$this->status = $this->status === InvoiceStatus::Draft
? InvoiceStatus::Sent
: throw new LogicException('already sent');
}
}
Anyone can read $invoice->status, only the class can change it. The invoice number validates itself on every write. No getters and setters boilerplate. If this is your first PHP since 2012, I understand the confusion.
Receipt 2: the tooling
- Composer still the most boring, reliable package manager I use, in any language.
- PHPStan / Larastan at level 8-9 catches most of what a compiler would.
- Pest for tests, Pint for formatting, Rector to upgrade old code automatically. We moved a client from 7.4 to 8.3 with Rector doing 80% of the work.
- Herd for local setup. New junior, laptop ready in 15 minutes.
Receipt 3: performance that is enough
One client API on a 2 vCPU VPS: about 350 requests per second on a cached endpoint with php-fpm, about 1,100 with Octane on FrankenPHP. Your numbers will be different, measure your own. My point is not that PHP is the fastest. My point is that for a business app the database and the third party APIs are slower than the language, every single time.
Receipt 4: the ecosystem
Laravel gives you queues, scheduling, Horizon, websockets with Reverb, auth, mail, all first party and documented. Symfony components underneath half the PHP world. WordPress runs a huge share of all websites, like it or not. Whatever a client asks for, there is a maintained package and someone in Lahore or Lagos who has done it before.
Receipt 5: hiring and money
In Pakistan, India, Indonesia, Brazil, Nigeria, PHP jobs and PHP freelance work are everywhere. My juniors are productive in three weeks. The deploy story is still the easiest: shared hosting for the tiny clients, a VPS with Forge-style scripts for the medium ones, containers for the big ones.
Nuno Maduro (he made Pest and Pint) has a video called "PHP in 2026 is so good..". I agree with the title and with most of the tour:
What is still bad (I promised)
- The standard library naming.
strpos($haystack, $needle)butarray_search($needle, $haystack).str_replacevsstrtolower. It will never be fixed and we all have the docs open forever. - Arrays are lists and hash maps at the same time. Powerful, also the source of half our weird bugs.
- No native generics. PHPStan docblock generics work, but it is a workaround.
- Async is fragmented. Fibers exist since 8.1, but ReactPHP, Amp, Swoole all do it differently.
- Google still ranks tutorials from 2011 with
mysql_queryand SQL injection built in. Juniors find those first.
So no, PHP is not cool. It is something better for a business: boring, cheap to host, easy to hire for, and fast enough. Bas. Now go ahead and comment "PHP is dead". I have my 😐 ready.
Written by
Ayesha Siddiqui
Laravel dev turned agency owner, Karachi. 11 people, mostly PHP, all of them better than me now. PHP 8 is good and I will die on this hill. Founder of PHP Still Pays 🐘
Get the best of #php_still_pays weekly
One email each Monday with the most useful posts. No spam; unsubscribe in one click.
Comments
Sign in to join the conversation.
Sign in to comment