Written by


Robert Fisher

Authored on



In the world of web engineering, few languages have undergone a transformation as significant as PHP. For those of us who have been building systems for nearly two decades, the journey from the "wild west" of early PHP to the robust, type-safe environment of today is nothing short of remarkable.

At FWRmedia, we have watched this evolution closely. Understanding where PHP has come from is essential to understanding why modern maintenance and version upgrades are so critical for your business.

The Great Leap: PHP 7.0

Released in late 2015, PHP 7.0 was a watershed moment. The primary focus was performance; the introduction of the Zend Engine 3.0 allowed for massive speed improvements and reduced memory consumption. For the first time, PHP could compete with newer languages in raw execution speed.

  • Key shift: The introduction of Scalar Type Hints and Return Type Declarations. This was the beginning of PHP moving away from being "loosely typed" towards a more disciplined, engineered approach.

Refinement: PHP 7.1 to 7.4

The subsequent 7.x releases focused on making the developer's life easier and the code more predictable.

  • Nullable Types (7.1): Allowed us to be more explicit about whether a variable could be empty.

  • Typed Properties (7.4): This was a game-changer for class architecture, allowing us to declare types directly in class properties, significantly reducing bugs in complex business logic.

The Paradigm Shift: PHP 8.0

Launched in 2020, PHP 8.0 wasn't just an update; it was a re-imagining of the language.

  • The JIT (Just-In-Time) Compiler: Provided even further performance gains for heavy mathematical or logic-based tasks.

  • Attributes: Replaced messy "DocBlock" comments with structured metadata—vital for modern frameworks like Symfony and Drupal.

  • Constructor Property Promotion: Cleaned up our "Class Factories" by allowing us to declare and initialise properties in one line.

Maturity: PHP 8.1 to 8.3 (and 8.4)

The most recent versions have moved PHP into the "Enterprise" tier of languages.

  • Enums (8.1): Finally allowed us to define a fixed set of possible values, making our code far more self-documenting and stable.

  • Readonly Classes (8.2): Perfect for Data Transfer Objects (DTOs), ensuring that data cannot be modified once it has been initialised.

  • Typed Class Constants (8.3): Adding yet another layer of "Safety by Design" to our engineering.

Member for

1 week 3 days
Submitted by Robert Fisher on