4 min de lecture
PHP 8 est disponible sur Scalingo!
PHP 8.0 est une mise à jour majeure du langage PHP. Nous l'avons rendu disponible sur Scalingo !

Bonne nouvelle : PHP8 est maintenant disponible sur Scalingo
PHP 8.0 est une mise à jour majeure du langage PHP. Nous l'avons rendu disponible sur Scalingo !
Dans cet article, nous allons expliquer comment vous pouvez passer à PHP 8 sur Scalingo et quelles sont les principales nouveautés de PHP 8.
Globalement, PHP 8 vise à atteindre de meilleures performances (nous détaillerons les cas) avec l'introduction de JIT (Just-in-Time compilation).
De plus, PHP 8 ajoute du sucre syntaxique pour faciliter l'écriture du code PHP (et sa lecture !). Cela aidera à réduire le coût de maintenance de votre base de code PHP.
Allons-y !
Activer PHP 8 pour votre application sur Scalingo
Voici un exemple pour installer la dernière version de PHP de la 8.0 branche : { "require": { "php": "8.0" } }
Cela installera la version 8.0.3 au moment de la rédaction.
Par défaut, sur Scalingo, la dernière 7.4 version de PHP sera installée. Si vous avez besoin d'installer une version précise, cela doit être mentionné dans votre composer.json file.
La raison pour laquelle 7.4 est par défaut est que quelques extensions PHP ne sont pas encore compatibles avec PHP 8 (Lua, Structures de Données).
Comme toujours, nous avons documenté tout cela et vous pouvez vérifier quelles extensions php natives sont déjà disponibles pour PHP 8.
Tant que ces extensions ne sont pas supportées, nous restons avec PHP 7.4 comme version par défaut.
Si vous avez besoin de plus d'informations sur l'hébergement PHP sur Scalingo, vous pouvez lire notre documentation PHP détaillée.
Quoi de neuf dans PHP 8 ?
PHP JIT - Just In Time compilation
Qu'est-ce que PHP JIT ?
Voici comment la RFC décrit JIT - Just in Time compilation :
Le JIT PHP est implémenté comme une partie presque indépendante de l'OPcache. Il peut être activé/désactivé au moment de la compilation de PHP et à l'exécution. Lorsqu'il est activé, le code natif des fichiers PHP est stocké dans une région supplémentaire de la mémoire partagée de l'OPcache et op_array->opcodes[].handler(s) conservent des pointeurs vers les points d'entrée du code JIT-és. Cette approche ne nécessite aucune modification du moteur.
Comme l'indique la RFC, l'équipe PHP estime qu'elle a atteint sa capacité à améliorer les performances de PHP en utilisant d'autres stratégies d'optimisation. Par conséquent, l'utilisation de JIT est une réponse pour améliorer les performances de PHP.
Selon certains tests, voici la contribution relative du JIT à la performance de PHP 8 :

Graph php.net. PHP 8 introduit deux moteurs de compilation JIT : Tracing JIT et Function JIT. Tracing JIT (en bleu) peut offrir jusqu'à 2,9 fois les performances de PHP sans JIT. Ce graphique peut vous aider à décider de passer à PHP 8 ou non.
Arguments nommés
Les arguments nommés permettent de passer des arguments à une fonction en fonction du nom du paramètre, plutôt que de la position du paramètre. Cela rend la signification de l'argument auto-documentée, rend l'ordre des arguments indépendant et permet de sauter des valeurs par défaut de manière arbitraire.
Voici ce que vous pouvez faire avec PHP 8 :
Spécifier uniquement les paramètres requis, en sautant ceux optionnels.
Les arguments sont indépendants de l'ordre et auto-documentés.
Attributs
Encore une fois, les attributs sont là pour faciliter l'écriture du code PHP.
Au lieu des annotations PHPDoc, vous pouvez désormais utiliser des métadonnées structurées avec la syntaxe native de PHP.
Promotion des propriétés du constructeur
Avec PHP 8, vous aurez moins de code de configuration pour définir et initialiser les propriétés.
Voici un exemple de php.net
Types union
Encore une fois, PHP 8 simplifie les types union. Au lieu des annotations PHPDoc pour une combinaison de types, vous pouvez utiliser des déclarations de types union natives qui sont validées à l'exécution.
Encore une fois, voici un exemple de PHP.net
Opérateur Nullsafe
PHP 8 introduit également l'opérateur Nullsafe qui simplifierait le code PHP. Au lieu d'utiliser des conditions de vérification null, vous pouvez désormais utiliser une chaîne d'appels avec le nouvel opérateur nullsafe.
Conclusion
PHP 8 apporte beaucoup de nouveautés et nous sommes très heureux d'annoncer que PHP 8 est désormais pris en charge sur Scalingo !
De nombreuses autres fonctionnalités et améliorations accompagnent PHP 8. Nous vous invitons à lire l'annonce complète de sortie sur php.net.

Luca Fancello
Luca Fancello est le Head of growth de Scalingo et il est donc le responsable de la bonne tenue de son blog. Luca est passionnée par le SEO et le content marketing et il est lui-même blogueur à ses heures perdues.
Restez informé
Recevez des articles et des mises à jour de la plateforme dans votre boîte de réception.
Prêt à déployer en toute confiance ?
Découvrez des déploiements sans temps d'arrêt, une mise à l'échelle automatique intelligente et une infrastructure entièrement gérée. Commencez à déployer vos applications sur Scalingo dès aujourd'hui.
Aucune carte de crédit requise • Déployez en quelques minutes • Annulez à tout moment





