Blog

PHP 8 est disponible sur Scalingo!

Chargement...

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 :



Impact of PHP 8 on performance



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.

Image Ben Unsplash

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

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.