Définitions

PHP 8 : nouveautés et versions à utiliser

PHP 8 : nouveautés et versions à utiliser

    PHP 8 regroupe aujourd'hui six versions, dont seules 8.2 à 8.5 sont encore maintenues. Calendrier officiel, nouveautés utiles et méthode de migration.

    PHP 8 est la génération actuelle du langage, sortie le 26 novembre 2020 avec la version 8.0. Mais PHP 8.0 et 8.1 ne sont plus maintenus : en septembre 2026, les seules versions supportées par php.net sont 8.2 et 8.3 (correctifs de sécurité uniquement), puis 8.4 et 8.5 (support actif). Pour un site en production, visez PHP 8.4 ou 8.5, et planifiez sans attendre la sortie de 8.2, qui ne recevra plus rien après le 31 décembre 2026.

    Ce que « PHP 8 » veut dire a beaucoup changé depuis 2020 : on parle aujourd’hui de six versions mineures successives, chacune avec son lot de nouveautés et sa propre date de fin de vie. On fait le point sur le calendrier officiel, les nouveautés qui comptent vraiment pour un projet web, et la méthode pour migrer sans casser un site.

    Quelles versions de PHP sont supportées aujourd’hui ?

    Le projet PHP applique un cycle simple : chaque branche reçoit deux ans de support actif (corrections de bugs et de sécurité, versions régulières), puis deux ans de correctifs de sécurité uniquement, publiés au besoin. Au bout de quatre ans, la branche est en fin de vie : plus aucune correction, même en cas de faille connue.

    Voici l’état publié sur php.net au 26 septembre 2026 :

    VersionSortieFin du support actifFin des correctifs de sécuritéStatut
    PHP 8.520 nov. 202531 déc. 202731 déc. 2029Support actif
    PHP 8.421 nov. 202431 déc. 202631 déc. 2028Support actif
    PHP 8.323 nov. 202331 déc. 202531 déc. 2027Sécurité uniquement
    PHP 8.28 déc. 202231 déc. 202431 déc. 2026Sécurité uniquement
    PHP 8.12021/31 déc. 2025Fin de vie
    PHP 8.026 nov. 2020/26 nov. 2023Fin de vie
    PHP 7.42019/28 nov. 2022Fin de vie

    La prochaine version, PHP 8.6, est planifiée pour le 19 novembre 2026 d’après le calendrier de publication du wiki PHP. Ce tableau bouge donc chaque fin d’année : vérifiez toujours la page officielle des versions supportées avant une décision.

    PHP 8

    Quelle version de PHP choisir pour votre site ?

    La règle tient en une phrase : prenez la version la plus récente que votre code et vos dépendances supportent, et jamais une version en fin de vie. Concrètement :

    • Nouveau projet : PHP 8.5, ou 8.4 si un framework ou une extension dont vous dépendez n’est pas encore compatible. Les deux ont plusieurs années de correctifs devant eux.
    • Site WordPress : WordPress recommande officiellement « PHP 8.3 ou supérieur ». Avant de monter de version, vérifiez la compatibilité de votre thème et de vos extensions (voir plus bas).
    • Site en PHP 8.2 : il fonctionne, mais ses correctifs de sécurité s’arrêtent le 31 décembre 2026. Planifiez la montée de version maintenant.
    • Site en PHP 8.1, 8.0 ou 7.x : il tourne sur une version qui ne reçoit plus aucun correctif. C’est une dette de sécurité, à traiter en priorité.

    Selon W3Techs (statistiques du 26 septembre 2026), PHP équipe 69,9 % des sites dont le langage serveur est connu, et parmi eux 27,9 % tournent encore en PHP 7 et 7,8 % en PHP 5. Autrement dit, plus d’un site PHP sur trois utilise une branche abandonnée depuis des années. La version se choisit en général dans le panneau de votre hébergeur ; si vous n’y avez pas accès, c’est une question à poser à votre prestataire de maintenance et d’hébergement.

    Qu’a changé PHP 8.0 par rapport à PHP 7 ?

    PHP 8.0 a été une version majeure, avec des nouveautés de syntaxe et des ruptures de compatibilité. Voici ce que l’annonce officielle met en avant :

    • Arguments nommés : on passe les paramètres par leur nom, dans n’importe quel ordre, et on saute les paramètres optionnels.
    • Attributs : des métadonnées structurées natives, à la place des annotations dans les commentaires (PHPDoc).
    • Promotion des propriétés du constructeur : déclarer et initialiser une propriété directement dans la signature du constructeur.
    • Types union : un paramètre peut accepter plusieurs types, par exemple int|float.
    • Expression match : une alternative plus stricte à switch, qui compare sans conversion de type et renvoie une valeur.
    • Opérateur nullsafe ?-> : il remplace les cascades de tests de nullité.
    • Comparaisons chaîne/nombre plus cohérentes et erreurs de type homogènes dans les fonctions internes.
    • Compilation JIT (« juste à temps »).

    Un exemple rapide avec l’expression match et l’opérateur nullsafe :

    // PHP 8.0
    $libelle = match ($statut) {
        'paid'    => 'Payée',
        'pending' => 'En attente',
        default   => 'Inconnue',
    };
    
    $ville = $commande?->client?->adresse?->ville;

    Sur le JIT, soyons précis, car il est souvent survendu. Selon php.net, le « tracing JIT » montre environ trois fois plus de performance sur des benchmarks synthétiques et un gain de 1,5 à 2 fois sur certaines applications de longue durée, mais la performance d’une application typique est équivalente à PHP 7.4. Pour un site vitrine ou une boutique, le JIT n’est pas la raison de migrer : la sécurité et la maintenabilité le sont.

    Quelles nouveautés de PHP 8.1 à 8.5 ?

    Chaque version mineure a ajouté des outils utiles. Le tableau ci-dessous retient les principales, telles que listées dans les annonces officielles de php.net.

    VersionNouveautés principales
    8.1Énumérations (enum), propriétés readonly, syntaxe des callables de première classe, type de retour never, types intersection, Fibers (concurrence légère)
    8.2Classes readonly, types DNF ((A&B)|null), null, false et true comme types autonomes, extension Random, constantes dans les traits, dépréciation des propriétés dynamiques
    8.3Constantes de classe typées, attribut #[\Override], fonction json_validate(), récupération dynamique de constantes de classe, linter en ligne de commande multi-fichiers
    8.4Property hooks (logique de lecture et d’écriture sur les propriétés), visibilité asymétrique (public private(set)), attribut #[\Deprecated], nouvelle API DOM compatible HTML5, fonctions array_find(), array_any(), array_all(), chaînage de méthodes sans parenthèses après new
    8.5Opérateur pipe |>, extension URI (analyse d’URL selon RFC 3986 et WHATWG), « clone with », attribut #[\NoDiscard], fonctions array_first() et array_last(), handles cURL partagés persistants

    Deux points ont un impact concret sur les projets existants :

    • La dépréciation des propriétés dynamiques (8.2) : créer une propriété non déclarée sur un objet déclenche un avertissement de dépréciation. Beaucoup d’anciennes extensions WordPress et de vieux codes maison le font. Ce n’est pas bloquant aujourd’hui, mais c’est le signal que ce code cassera un jour.
    • Les property hooks et la visibilité asymétrique (8.4) : ils réduisent fortement le code répétitif (getters et setters), ce qui intéresse surtout les applications sur mesure et les frameworks comme Symfony ou Laravel.

    Exemple de l’opérateur pipe de PHP 8.5, qui enchaîne des fonctions de gauche à droite :

    // PHP 8.5
    $slug = $titre
        |> trim(...)
        |> strtolower(...)
        |> (fn($s) => str_replace(' ', '-', $s));
    agence développement PHP 8

    Comment migrer vers PHP 8 sans casser votre site ?

    Une montée de version PHP se prépare comme une petite mise en production. La méthode qu’on recommande :

    1. Inventorier : version PHP actuelle, CMS ou framework et leur version, liste des extensions, thèmes et bibliothèques (le fichier composer.json pour un projet sur mesure).
    2. Vérifier la compatibilité : notes de version du CMS ou du framework, pages des extensions, contraintes require de Composer. Mettez d’abord à jour les dépendances vers des versions compatibles.
    3. Lire les guides de migration officiels : php.net publie un guide par version (7.4 vers 8.0, 8.0 vers 8.1, etc.), avec la liste des changements incompatibles. Si vous sautez plusieurs versions, lisez-les tous.
    4. Tester sur une copie : clonez le site en préproduction avec la version cible, activez l’affichage des erreurs et des dépréciations dans les journaux, puis parcourez les parcours critiques (formulaires, paiement, back-office).
    5. Automatiser ce qui peut l’être : une analyse statique (PHPStan, par exemple) et les tests automatisés existants repèrent une bonne partie des incompatibilités avant la mise en ligne.
    6. Basculer avec un retour arrière prêt : sauvegarde complète, bascule en heure creuse, surveillance des journaux d’erreurs dans les jours qui suivent.

    Pour les sites WordPress, l’étape 2 est souvent la plus longue : une seule extension abandonnée peut bloquer toute la migration. C’est typiquement le genre de chantier qu’une agence WordPress traite dans le cadre de la maintenance, et on détaille les bonnes pratiques dans notre article sur la maintenance des sites WordPress.

    Quelles erreurs éviter lors du passage à PHP 8 ?

    • Migrer directement en production. Une erreur fatale sur une extension et le site affiche une page blanche.
    • Ignorer les changements de comparaison. Depuis PHP 8.0, la comparaison entre un nombre et une chaîne non numérique ne se fait plus de la même façon : un code qui reposait sur l’ancien comportement peut changer de résultat sans message d’erreur. C’est détaillé dans le guide de migration 7.4 vers 8.0.
    • Masquer les dépréciations au lieu de les corriger. Elles annoncent les ruptures des versions suivantes.
    • S’arrêter à une version bientôt en fin de vie. Migrer en 2026 vers PHP 8.2, c’est devoir recommencer dans quelques mois.
    • Oublier la ligne de commande et les tâches planifiées. Le PHP utilisé par le serveur web et celui des tâches cron ne sont pas forcément les mêmes versions.

    PHP est-il encore un bon choix pour un projet web ?

    Oui, pour une large part des projets. PHP reste le langage serveur le plus répandu sur le web d’après W3Techs, il fait tourner WordPress, Drupal, PrestaShop ou Magento, et il dispose de frameworks matures comme Symfony et Laravel. Les versions 8.x ont apporté un typage bien plus strict et une syntaxe moderne, ce qui rend le code plus fiable qu’à l’époque de PHP 5.

    Le choix du langage dépend surtout de votre projet et de l’équipe qui le maintiendra. Pour comparer, lisez notre article NodeJS vs PHP et notre sélection de frameworks PHP.

    PHP 8

    Questions fréquentes

    Quelle est la dernière version de PHP ?

    Au 26 septembre 2026, la dernière branche stable est PHP 8.5, sortie le 20 novembre 2025. PHP 8.6 est planifiée pour le 19 novembre 2026.

    PHP 8.0 est-il encore supporté ?

    Non. PHP 8.0 est en fin de vie depuis le 26 novembre 2023 et PHP 8.1 depuis le 31 décembre 2025. Ils ne reçoivent plus de correctifs de sécurité.

    Quelle version de PHP pour WordPress ?

    WordPress recommande PHP 8.3 ou supérieur. En pratique, 8.4 est un bon choix si votre thème et vos extensions sont compatibles.

    Le passage à PHP 8 rend-il un site plus rapide ?

    Parfois, mais ce n’est pas garanti. php.net indique par exemple un gain de 3,5 % sur WordPress pour PHP 8.1, et une performance typique équivalente à PHP 7.4 pour le JIT de PHP 8.0. Le vrai bénéfice est la sécurité et la durée de support.

    Comment connaître la version PHP de mon site ?

    Dans WordPress, l’écran Outils puis Santé du site, onglet Informations, section Serveur, l’affiche. Sinon, le panneau de votre hébergeur l’indique, ou la commande php -v en ligne de commande sur le serveur.

    Sources

    Continuez votre lecture

    Articles sur le même sujet : Application web sur mesure

    Comment-creer-une-application-B2B-Marketplace
    Développement web

    Comment créer une application de marketplace B2B ?

    Une marketplace B2B met en relation des vendeurs et des acheteurs professionnels. Niche, modèle de revenus, fonctions indispensables,…

    Quest-ce-quun-cycle-de-vie-de-developpement-logiciel
    Définitions

    Cycle de vie de développement logiciel (SDLC) : étapes et modèles

    Le cycle de vie de développement logiciel regroupe les étapes qu'un logiciel traverse, de l'analyse des besoins à…

    Combien-coutera-le-developpement-de-mon-application-web
    Développement web

    Coût de développement d’une application web : comment l’estimer

    Pourquoi il n'existe pas de prix unique, où partent les heures de développement et comment construire un budget…

    NodeJS-Vs-PHP
    Définitions

    Node.js vs PHP : lequel choisir pour votre projet web ?

    PHP reste le choix naturel pour les sites de contenu et le e-commerce, Node.js pour le temps réel…