Skip to content
Muhammet Şafak
tr

November 1, 2026

The Evolution of PHP: From 5.5 to 8.6

Stop by stop, from generators to partial function application, what PHP gained in each release and how its type system was built layer by layer.

Tan looking at code that needs a refactor

PHP · Release by release

The Evolution of PHP: From 5.5 to 8.6

Stop by stop: what the language gained in each release.

Muhammet Şafak

Up to 2×

PHP 7.0 · Zend Engine 3

speed gain compared with PHP 5.6

According to the benchmark results on PHP.net, in real applications. The engine was rewritten; WordPress, Drupal and Magento tests also showed a clear improvement.

5.x and 7.x

From generators to typed properties

  1. 5.5 · generators and yield: values on demand, one at a time done
  2. 5.6 · variadics (...), exponentiation (**), constant expressions, use function done
  3. 7.0 · Zend Engine 3, scalar and return types, <=>, ??, anonymous classes done
  4. 7.1 · nullable types (?T) and the void return type done
  5. 7.2 · object type (November 2017) done
  6. 7.3 · flexible heredoc, short syntax in list assignments done
  7. 7.4 · typed properties and arrow functions (November 2019) done

8.x

From union types to partial function application

  1. 8.0 · union types, match, named arguments, attributes, ?-> done
  2. 8.1 · native enums and readonly properties done
  3. 8.2 · readonly classes, DNF types (December 8, 2022) done
  4. 8.3 · typed class constants, #[\Override], json_validate() done
  5. 8.4 · property hooks and asymmetric visibility done
  6. 8.5 · pipe operator (|>) done
  7. 8.6 · partial function application, expected on November 19, 2026 pending

Function signature: untyped to typed

Each gap closed by the next release

What was missing Each line is a gap the next release closed.
  • 5.6: no scalar parameter types
  • 5.6: no return types
  • 7.0: a null return cannot be reflected in the return type
  • 7.4: the signature accepts only one type per parameter
What arrived The signature tells you what the value is.
  • Scalar type declarations (7.0)
  • Return type declarations (7.0)
  • Nullable ?T and void (7.1)
  • Union types: int|string (8.0)

Type system

Layer by layer

Each release built on the one before; at the very bottom, the scalar types of 7.0.

  1. Typed class constants 8.3
  2. DNF, standalone null / true / false 8.2
  3. readonly properties 8.1
  4. Union types 8.0
  5. Typed properties 7.4
  6. Scalar and return types, ?T, void, object 7.0 → 7.2

PHP 8.6

The calendar is set in advance

  • September 22 hard feature freeze, 2026 Only bug fixes afterwards
  • November 19 expected release date, 2026 According to the release schedule
  • 33 / 0 partial function application RFC vote The one visible syntax addition
  • 39 / 3 warning for return from finally From the deprecation list

So there is nothing we learn in November — November only ships what was already settled in September.

Muhammet Şafak PHP 8.6 is on the way: the language's steady evolution
Tan waving

Steady evolution

The language took a step every year.

muhammetsafak.com/blog/php-8-6-on-the-way-the-languages-stable-evolution/

One minor release every year since 2020; the last four releases fell between November 19 and 23.

Share and download

Share:
Paste this code into your page’s HTML.

Search the site

Start typing to search posts, projects and pages.

Esc to close Powered by Pagefind