tempest Want to connect with me and many other PHP enthusiasts? Join the Tempest Discord!

PHP in 2024

It's 2024, and I'm excited about PHP. Will some people think I'm weird because of that? Sure. Do I have good reasons to be excited about a programming language that's been around for more than 25 years, which generally has a reputation of being the underdog compared to other languages?

Absolutely!

There are very good reasons to be excited about PHP these days. Today, I want to share some of the things I'm most excited about this year for PHP.

# Continuous evolution

When Nikita left over two years ago — Nikita being the main contributor and driver for PHP, he went to work on LLVM — I'll admit I was scared for PHP's future:

I'm a little worried now that Nikita has stepped down. He's definitely not the only person capable of working on PHP's core, but he did a tremendous amount of work these past years with PHP 8.0 and 8.1. I don't think 2022 will be the most mind blowing year for PHP, but rather a year of adding stability.

Looking back, I think that fear wasn't needed. The PHP Foundation has grown into a well-established community, with now 10 developers being paid to work on PHP core. Two major features being worked on at the moment come to mind: property hooks — which I'm hopeful for will pass once it comes to voting; and a rework of Pecl — PHP's extension manager.

Of course, I still got a sliver of hope when it comes to generics, which the Foundation is/was also looking into. I do think that the only viable way forward is runtime-ignored generics though, time will tell whether the Foundation will be able to cultivate a new mindset or not.

# FrankenPHP

One of the cool things happening in PHP land today is a project called FrankenPHP. It's been in the works for a year or two — if I remember correctly, and it's getting some real traction these days.

FrankenPHP is an app server for PHP, written in Go, that gives existing PHP apps a major performance boost, and it's super easy to get started with. It also supports compiling PHP projects as standalone binaries, worker mode for long-lived applications, is three times faster than PHP-FPM, HTTP/2 and HTTP/3 support, and more.

Recently, we've seen support for FrankenPHP for Laravel and Symfony. So it's growing into something big.

Noticed a tpyo? You can submit a PR to fix it. If you want to stay up to date about what's happening on this blog, you can subscribe to my mailing list: send an email to brendt@stitcher.io, and I'll add you to the list.

# Laravel

I think it's fair to say at this point that Laravel's marketing strategy is working well. Laravel itself — the open source framework — is by far the most popular one within the PHP community; but they've also managed to create an ecosystem of products built with and for Laravel, to build a sustainable business. Just recently, Laravel hired 6 new people, from a COO to BizOps to engineers; and Taylor mentioned that "serious business is underway".

Modern businesses are growing and embracing PHP, which is great to see.

One of the things I embraced last year was Laravel Livewire, a tool that allows you to write interactive apps, without any JavaScript. I did some tinkering with it, and had a lot of fun making a game:

# Discovering PHP

What I found especially heartwarming to see is how people outside the PHP community are re-discovering PHP. There have been a number of examples of people coming from the JavaScript world, suddenly realising Laravel is a thing, and a good thing; and there are people like ThePrimeagen on YouTube who were pleasantly surprised by PHP:

# Composer and Packagist

The PHP ecosystem keeps growing as well: there's a continuous growth in packages, indicating an active ecosystem.

On top of that, Packagist recently crossed the one hundred billion downloads milestone. That's a doubling in two years time! We're now at 105 134 384 876, and that number keeps growing.

I think it's fair to say: PHP is not dead!

Noticed a tpyo? You can submit a PR to fix it. If you want to stay up to date about what's happening on this blog, you can subscribe to my mailing list: send an email to brendt@stitcher.io, and I'll add you to the list.