The technical case for shipping a modern forum on PHP 8.2 in 2026 — runtime improvements, readonly properties, fibers, and the practical engineering ROI.
It is easy to dismiss PHP as a legacy choice in 2026. JavaScript runtimes own the developer-mindshare narrative, Ruby and Python own the AI-tooling narrative, and Go owns the systems narrative. PHP gets remembered for what it was in 2014, not what it is now.
We built RaxBoard on PHP 8.2 deliberately, and this is the technical case for that choice.
PHP 8.0 introduced the JIT compiler. PHP 8.1 added readonly properties, never return types, and pure intersection types. PHP 8.2 added readonly classes and standalone null, false, and true types. By 8.2 the runtime is roughly 2-3x faster than PHP 7.4 on typical web workloads. For a forum where rendering a thread page hits dozens of database queries, that compounds into noticeably snappier pages without any application-level optimization.
This is the underrated argument. PHP is the only modern runtime that genuinely works on $5/month shared hosting with no Docker, no Node sidecar, no Redis requirement. Most community operators do not want to run a Kubernetes cluster — they want to upload a zip, point a database at it, and forget about it. PHP keeps that path open in a way that Discourse-on-Docker never will.
PHP 8 type declarations are strict enough that the editor catches most of the bugs you would normally hit at runtime. With Psalm in CI, RaxBoard runs at strict level 1 across the entire codebase. That is roughly the equivalent of TypeScript strict mode, and the development experience is correspondingly calm: rename a property, the compiler tells you every site that referenced it.
PHP added str_contains, str_starts_with, array_is_list, fiber-based coroutines, enums, and first-class callable syntax in the 8.x line. The language stopped being a string-manipulation library with a database driver and became a real general-purpose runtime. Most of the historical jokes about PHP function naming are about pre-8.0 PHP.
We do not use fibers in RaxBoard core. Forum workloads are mostly request-response — async work happens through the queue worker, not inline. We also do not use the JIT for web requests yet; JIT helps with CPU-bound code and forums are I/O-bound. The JIT is on for our CLI tooling where it pays off.
The honest tradeoff: PHP makes RaxBoard cheap to host and easy to ship. We chose calm engineering over the latest narrative, and PHP 8.2 is the calmest modern web runtime we evaluated.
Önemli sürümler, topluluk öne çıkanları ve mühendislik hikayeleri — doğrudan e-postanda.