PHP: what we build with it and why
We meet PHP where hosting lives: in WHMCS, in Pterodactyl and its themes, in small sites without a framework and in APIs that must run on any server.
PHP in real screenshots
The projects on this page on the screens from the portfolio and the case studies, each with a short description and the way to the full one.
When PHP, and when something else
A technology has to fit the place the code will run and the team that will take it over. The final choice is made in the quote, together with you.
We pick PHP
Modules for billing systems
The Flaem modules for WHMCS, HostBill, Paymenter and Blesta have PHPUnit tests. These systems load add-ons only in PHP, so it is the only way for a host to sell services from the platform.
Pterodactyl themes and add-ons
The Pterodactyl panel is built on Laravel. The WaveHost theme is a game panel in the client's colours, built on Pterodactyl's code.
Small APIs with no build step
ghapi is a GitHub statistics API in plain PHP, with no framework. Deployment is copying files, and the collector reads only the branches that moved.
Sites on any hosting
The DualFroz site has a simple router and HTML prepared on the server. The content is in the first response, and the site runs on any hosting with PHP.
A store without a heavy framework
bazaar has a catalogue, a cart, Stripe Checkout payments, customer accounts and an admin panel on its own microframework. Queries go only through PDO prepared statements, and forms have CSRF protection.
Taking over an existing project
We take over a working PHP system starting with a code review and a list of risks. It is often cheaper to fix and extend it than to rewrite it from scratch.
We pick something else
A new platform for years
A platform meant to grow for years gets a core in Rust and a panel in TypeScript. PHP handles one request and stops, while a platform needs processes that run all the time, and queues.
Live connections and voice
Classic PHP stops after every request, so it does not hold open connections. The Plazer servers with WebSocket and voice calls are in Go.
An agent on a server
An agent on someone else's machine cannot depend on an installed PHP and its extensions. The Flaem agents are in Go, as single binaries.
A panel with a console and charts
Server HTML is enough for a simple site, but we write a panel with a live console and charts in React and TypeScript. That is how the Flaem panel and the client panels are built.
A Discord bot
A bot has to hold its connection to Discord all the time, and PHP run per request does not fit that. We write bots in Python with discord.py or in TypeScript.
Long background jobs
Creating servers and syncing take longer than one request. In WaveHost a separate process with BullMQ queues in TypeScript does it, and in Flaem services in Rust and Go.
PHP compared, point by point
Each need on a row of its own, with what each of the two columns gives you on it side by side.
A WHMCS module
Shared hosting
A new platform for years
Deployment
Open live connections
A Pterodactyl theme or add-on
Background jobs
PHP in all our code
How many lines we have written in PHP, and what part of everything we have written that is. We count the lines added in the commits of our repositories, language by language.
The libraries these projects stand on
From the dependency files of our repositories. With each, one sentence on what we use it for.
PHP 8.2 without a framework
The stats API and the personal site.
Laravel
Pterodactyl and its themes.
PHPUnit
Billing module tests.
sodium and openssl
Cryptography from the standard library.
Our changes to other people's PHP projects
32 merged changes in 20 repositories. The maintainers of these projects reviewed our code and merged it into theirs.
Week by week
The languages of our changes
- PHP32 26%
- Go33 26%
- JavaScript25 20%
- C#11 8.8%
- Rust10 8.0%
- Perl i JavaScript6 4.8%
- Python6 4.8%
- TypeScript2 1.6%
- KanboardSimple kanban project management software you host yourself.4 merged changes9,904 stars on GitHub
- PHPMailerThe classic PHP library for sending email, used by WordPress and many other systems.3 merged changes22,310 stars on GitHub
- Spiral TestingA testing toolkit for applications built on the Spiral PHP framework.3 merged changes7 stars on GitHub
- WhoopsA readable error page for PHP applications, known from Laravel.2 merged changes13,230 stars on GitHub
- PredisA flexible, feature-complete Redis and Valkey client for PHP.2 merged changes7,778 stars on GitHub
- SatisA static Composer repository generator for private PHP libraries.2 merged changes3,306 stars on GitHub
Other technologies, and where their code runs
Each has its own page with projects on real screens and a comparison with the alternatives.
Questions about PHP
Answers about PHP, our projects and the numbers on this page.
Read next
Write-ups of the projects on this page and an overview of every technology.
A project in PHP?
Describe what you want to build. We reply within an hour and tell you plainly whether this technology is a good choice.


