Maison  >  Article  >  PHP8.1 est officiellement sorti, venez le mettre à jour !

PHP8.1 est officiellement sorti, venez le mettre à jour !

藏色散人
藏色散人original
2021-11-26 14:47:224247parcourir

Enfin, PHP8.1 est sorti ! ! ! Voir l'annonce officielle de PHP pour plus de détails : https://www.php.net/releases/8.1/en.php

PHP8.1 est officiellement sorti, venez le mettre à jour !

PHP 8.1.0 est sorti, cette version apporte de nombreuses améliorations et nouvelles fonctionnalités.

Énumérations

Utilisez une énumération au lieu d'un ensemble de constantes et validez instantanément.

PHP8.1 est officiellement sorti, venez le mettre à jour !

Propriétés en lecture seule

Les propriétés en lecture seule ne peuvent pas être modifiées après l'initialisation, c'est-à-dire après qu'une valeur leur ait été attribuée. Ils peuvent être utilisés pour modéliser des objets de valeur et des objets de transfert de données.

PHP8.1 est officiellement sorti, venez le mettre à jour !

Syntaxe appelable de première classe

Vous pouvez désormais obtenir une référence à n'importe quelle fonction.

PHP8.1 est officiellement sorti, venez le mettre à jour !

Nouveau initialiseur

les objets peuvent désormais être utilisés comme valeurs de paramètres par défaut, variables statiques et constantes globales, ainsi que comme paramètres de propriété, permettant ainsi d'utiliser des propriétés imbriquées.

PHP8.1 est officiellement sorti, venez le mettre à jour !

Type d'intersection pure

Lorsqu'une valeur doit satisfaire plusieurs contraintes de type en même temps, utilisez le type d'intersection. Notez qu'il n'est actuellement pas possible de mélanger les types d'intersection et d'union, tels que A&B|C.

PHP8.1 est officiellement sorti, venez le mettre à jour !

Never return type

Une fonction ou une méthode déclarée avec never type signifie qu'elle ne retournera pas de valeur et lancera une exception ou en appelant die(), exit(), trigger_error() ou similaire à terminer l'exécution du script.

PHP8.1 est officiellement sorti, venez le mettre à jour !

Constantes de classe finale

Les constantes de classe finales peuvent être déclarées pour éviter qu'elles ne soient remplacées dans les sous-classes.

PHP8.1 est officiellement sorti, venez le mettre à jour !

Représentation explicite des nombres octaux

Il est désormais possible d'écrire des nombres octaux en utilisant un préfixe 0o explicite.

PHP8.1 est officiellement sorti, venez le mettre à jour !

Fibers

Les fibres sont des primitives permettant d'implémenter une concurrence concurrente coopérative légère. Ils constituent un moyen de créer des blocs de code qui peuvent être mis en pause et repris comme des générateurs, mais depuis n'importe où dans la pile. Les fibres elles-mêmes n'assurent pas la concurrence, une boucle d'événements est toujours requise. Cependant, ils permettent de partager la même API via des implémentations bloquantes et non bloquantes. Les fibres permettent de se débarrasser du code passe-partout précédemment vu dans Promise::then() ou des coroutines basées sur un générateur. Les bibliothèques construisent souvent d'autres abstractions autour de Fiber, il n'est donc pas nécessaire d'interagir directement avec elles.

PHP8.1 est officiellement sorti, venez le mettre à jour !

Prise en charge du déballage des tableaux pour les tableaux à clé de chaîne

PHP prenait auparavant en charge le déballage à l'intérieur des tableaux via l'opérateur spread, mais uniquement si le tableau avait des clés entières. Les tableaux peuvent désormais également être décompressés à l'aide de clés de chaîne.

PHP8.1 est officiellement sorti, venez le mettre à jour !

Optimisation des performances

PHP 8.1 présente également quelques changements en termes de performances, notamment :

  • Backend JIT pour ARM64 (AArch64)

  • Mise en cache de l'héritage (pour éviter de relier les classes dans chaque demande) )

  • Résolution rapide du nom de classe (en évitant les recherches de minuscules et de hachage)

  • améliorations des performances de timelib et ext/date

  • améliorations de l'itérateur du système de fichiers SPL

  • optimisation de la sérialisation/désérialisation

  • Quelques optimisations de fonctions internes (get_declared_classes(), explosive(), strtr(), strnatcmp(), dechex())

  • Améliorations et correctifs JIT

PHP8.1 est officiellement sorti, venez le mettre à jour !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn