Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

B - Les versions de PHP, 2015 Ă  2026

Chaque version a sa section ci-dessous, avec sa date de sortie, sa fenĂȘtre de support et ses changements marquants. Les dates viennent de php.net (pages des versions maintenues, des fins de vie et des changelogs, vĂ©rifiĂ©es le 17 septembre 2026). Le support actif couvre les corrections de bugs et les correctifs de sĂ©curitĂ©, le support de sĂ©curitĂ© les correctifs de sĂ©curitĂ© seulement. Depuis la mise Ă  jour du cycle de publication votĂ©e en 2024, les deux fenĂȘtres se terminent le 31 dĂ©cembre de leur derniĂšre annĂ©e.

VersionSortieSupport actif jusqu’auSupport de sĂ©curitĂ© jusqu’au
PHP 5.628 août 201419 janv. 201731 déc. 2018
PHP 7.03 déc. 20153 déc. 201710 janv. 2019
PHP 7.11er déc. 20161er déc. 20181er déc. 2019
PHP 7.230 nov. 201730 nov. 201930 nov. 2020
PHP 7.36 déc. 20186 déc. 20206 déc. 2021
PHP 7.428 nov. 201928 nov. 202128 nov. 2022
PHP 8.026 nov. 202026 nov. 202226 nov. 2023
PHP 8.125 nov. 202125 nov. 202331 déc. 2025
PHP 8.28 déc. 202231 déc. 202431 déc. 2026
PHP 8.323 nov. 202331 déc. 202531 déc. 2027
PHP 8.421 nov. 202431 déc. 202631 déc. 2028
PHP 8.520 nov. 202531 déc. 202731 déc. 2029

Ce qu’il faut retenir du tableau, ce sont onze versions annuelles consĂ©cutives, chacune sortie entre le 20 novembre et le 8 dĂ©cembre. Le calendrier de la suivante paraĂźt sur wiki.php.net des mois Ă  l’avance, avec ses dates de gel des fonctionnalitĂ©s et de release candidate.

PHP 7.0, décembre 2015

  • Nouveau moteur, avec une forte rĂ©duction de l’usage mĂ©moire et, sur le travail propre de l’interprĂ©teur, Ă  peu prĂšs deux fois la vitesse de PHP 5.6 ; voir DĂ©bit et latence pour l’affirmation de l’éditeur et la mesure synthĂ©tique indĂ©pendante, avec leurs rĂ©serves.
  • DĂ©clarations de types scalaires (int, float, string, bool) pour les paramĂštres, et dĂ©clarations de types de retour.
  • declare(strict_types=1).
  • OpĂ©rateur de fusion null ??, opĂ©rateur spaceship <=>.
  • Classes anonymes.
  • Les erreurs du moteur deviennent des exceptions (hiĂ©rarchie Error), si bien qu’une erreur fatale peut ĂȘtre attrapĂ©e.
  • Suppression des fonctions mysql_*, des fonctions ereg_* et des constructeurs Ă  la PHP 4.

PHP 7.1 Ă  7.4, 2016 Ă  2019

  • 7.1 : types nullables (?int), type de retour void, iterable, visibilitĂ© des constantes de classe.
  • 7.2 : type object, hachage de mots de passe Argon2, Libsodium dans le cƓur.
  • 7.3 : syntaxe heredoc assouplie, is_countable(), erreurs JSON sous forme d’exceptions.
  • 7.4 : propriĂ©tĂ©s typĂ©es, fonctions flĂ©chĂ©es (fn), prĂ©chargement OPcache, interface de fonctions Ă©trangĂšres (FFI), opĂ©rateur ??=, retours covariants et paramĂštres contravariants.

PHP 8.0, novembre 2020

  • Arguments nommĂ©s : str_pad(string: 'a', length: 3).
  • Attributs : #[Route('/home')], des mĂ©tadonnĂ©es structurĂ©es lues par rĂ©flexion.
  • Promotion de propriĂ©tĂ©s dans le constructeur : public function __construct(private int $x) {}.
  • Types union : int|string $id.
  • Expression match : comparaison stricte, pas de fallthrough, exhaustive.
  • OpĂ©rateur nullsafe : $user?->address?->city.
  • mixed et static comme types.
  • throw comme expression.
  • str_contains(), str_starts_with(), str_ends_with().
  • Interface Stringable, WeakMap.
  • Compilateur JIT, Ă  l’intĂ©rieur d’OPcache.
  • Comparaisons chaĂźne-nombre assainies : 0 == 'foo' vaut false.
  • Les fonctions internes lĂšvent TypeError et ValueError au lieu d’émettre un avertissement et de renvoyer null ou false.

PHP 8.1, novembre 2021

  • ÉnumĂ©rations, pures et adossĂ©es.
  • PropriĂ©tĂ©s readonly.
  • Syntaxe de callable de premiĂšre classe : strlen(...).
  • Fibers : des coroutines Ă  pile, la brique de base des bibliothĂšques asynchrones.
  • new dans les initialiseurs.
  • Types intersection purs : Countable&Traversable.
  • Type de retour never, constantes de classe final, array_is_list(), notation octale explicite.

PHP 8.2, décembre 2022

  • Classes readonly.
  • Types en forme normale disjonctive : (A&B)|null.
  • Types true, false et null autonomes.
  • PropriĂ©tĂ©s dynamiques dĂ©prĂ©ciĂ©es ; #[\AllowDynamicProperties] rĂ©autorise une classe.
  • #[\SensitiveParameter] pour masquer un argument dans les traces d’appel.
  • Constantes dans les traits, Random\Randomizer.

PHP 8.3, novembre 2023

  • Constantes de classe typĂ©es.
  • Attribut #[\Override] : le moteur vĂ©rifie qu’une mĂ©thode parente existe.
  • json_validate().
  • AccĂšs dynamique aux constantes de classe : Foo::{$name}.
  • Les propriĂ©tĂ©s readonly peuvent ĂȘtre rĂ©initialisĂ©es dans __clone().

PHP 8.4, novembre 2024

  • Hooks de propriĂ©té : la logique get et set dĂ©clarĂ©e sur la propriĂ©tĂ© elle-mĂȘme.
  • VisibilitĂ© asymĂ©trique : public private(set) int $x.
  • new Foo()->bar() sans parenthĂšses englobantes.
  • Objets paresseux via la rĂ©flexion (newLazyGhost(), newLazyProxy()).
  • Attribut #[\Deprecated].
  • array_find(), array_find_key(), array_any(), array_all().
  • mb_trim() et consorts, mb_ucfirst(), mb_lcfirst().
  • Nouvelle extension DOM avec un analyseur HTML5 (Dom\HTMLDocument).
  • API objet pour BCMath (BcMath\Number), sous-classes PDO par pilote (Pdo\Sqlite, Pdo\Mysql, Pdo\Pgsql).
  • Types de paramĂštres implicitement nullables dĂ©prĂ©ciĂ©s.

PHP 8.5, novembre 2025

  • OpĂ©rateur pipe : $value |> trim(...) |> strtoupper(...).
  • clone avec mise Ă  jour de propriĂ©tĂ©s : clone($obj, ['prop' => $value]).
  • Attribut #[\NoDiscard], avec le cast (void) pour le faire taire volontairement.
  • array_first(), array_last().
  • Closures et callables de premiĂšre classe dans les expressions constantes (arguments d’attributs, valeurs par dĂ©faut, constantes).
  • Attributs sur les constantes.
  • Nouvelle extension uri (Uri\Rfc3986\Uri, Uri\WhatWg\Url).
  • Les erreurs fatales incluent une trace d’appel.
  • get_error_handler(), get_exception_handler().
  • L’opĂ©rateur d’exĂ©cution shell entre accents graves est dĂ©prĂ©ciĂ©.