En décembre 2020, la nouvelle version PHP-8.0 devrait être disponible à l’utilisation en production sur nos sites web.

D’ici sa sortie dans un mois, et sous réserve de modifications, voici une liste des bons points que prévoit PHP-8

Améliorations PHP-8

  • Compatibilité des codes PHP-7 vers PHP-8
  • Performances d’exécution
  • Exécution de codes rapide mis en cache
  • Nouvelles fonctions PHP-8

Compatibilité des codes PHP-7 vers PHP-8

Lorsque PHP-8 sera disponible auprès des hébergeurs web et que vous l’aurez activer, la compatibilité des codes PHP-7 en PHP-8 rendra votre site utilisable sans modification préalable.

Exécution de code mis en cache

PHP-8 permet la compilation de code à la volée (Just In Time) avec jitPHP plus rapidement qu’en PHP-7 avec OPcache.

Dans de nombreux cas, du code PHP à besoin d’être exécuté pour des micro-traitements, dis à la volée (Exemple de code PHP est exécuté à la volée), l’amélioration de ce temps d’exécution est une bonne nouvelle.

Au niveau des performances entre jitPHP(PHP-8) et OPcache(PHP-5 et PHP-7), voici un exemple en vidéo

Performances d’exécution

En comparant la vitesse d’exécution d’un même code PHP sous différentes versions :

Nouvelles fonctions PHP-8

str_contains()

Cette nouvelle fonction booléenne permet la recherche de texte contenu dans un autre texte et remplace le code
if(strpos("Long texte base", "texte") !== false){//texte présent}else{//texte absent}
Par
if(str_contains("Long texte base", "texte"){//texte présent}else{//texte absent}

get_debug_type()

La fonction get_debug_type() améliore la fonction gettype() en résolvant le nom de classe ainsi :

Valeur gettype() get_debug_type()
1 integer int
0.1 double float
true boolean bool
false boolean bool
null NULL null
« WordPress » string string
[1,2,3] array array
Une classe qui s’appelle « Foo\Bar » object Foo\Bar
Une classe anonyme object class@anonymous