Maison  >  Article  >  développement back-end  >  Dernière avancée de PHP8.2, les nouvelles fonctionnalités seront bientôt gelées !

Dernière avancée de PHP8.2, les nouvelles fonctionnalités seront bientôt gelées !

青灯夜游
青灯夜游avant
2022-07-04 13:54:383257parcourir

La Fondation PHP publiera chaque mois les dernières avancées du noyau PHP ce mois-là sur le blog. Cet article décrit les progrès réalisés en juin. La sortie de la version PHP8.2 QA et du gel des fonctionnalités

PHP8.2 est prévue pour le 24 novembre. Les administrateurs de la version PHP ont publié l'Alpha 1 et l'Alpha 2 de la version PHP8.2.

Ces versions Alpha ne sont pas adaptées à une utilisation dans les environnements de production, mais sont utilisées comme nœuds de version pour les environnements de test et le développement local. La version Windows compilée peut être trouvée sur https://windows.php.net/qa/, l'image Docker peut être trouvée sur Docker Hub et le code source est dans php/php-src sur Github. Vous pouvez compiler. sur Homebrew, le package PHP 8.2-dev peut afficher les instructions associées à partir de shivammathur/php. Le

Le 19 juillet

est la date de gel des fonctionnalités de PHP 8.2, après quoi PHP 8.2 ne recevra plus de suggestions de nouvelles fonctionnalités. Les nouvelles fonctionnalités de PHP ont une période de discussion de 2 semaines et une période de vote de 2 semaines. Toutes les RFC (propositions) doivent faire l’objet d’un vote avant que la fonctionnalité ne soit gelée.

Mise à jour RFC

Quels changements seront apportés dans PHP8.2 la dernière fois (améliorations des performances, nouvelles fonctionnalités) ! a introduit de nouvelles fonctionnalités qui ont été approuvées. Certaines nouvelles fonctionnalités ont maintenant été votées et certaines sont en cours.

Implémenté : autoriser false et null comme types indépendants

Comme mentionné dans les articles précédents, certains développeurs ne sont pas optimistes à ce sujet et pensent que false n'est d'aucune utilité en tant que type indépendant. Avant cela, false ne pouvait être déclaré que conjointement avec d'autres types. Vous pouvez lire une interview du développeur George Peter Banyard dans le podcast PHP. https://phpinternals.news/99, il a mentionné qu'un grand nombre de fonctions traditionnelles renvoient false et lèvent des exceptions en interne. Cela ne retournera rien d'important en pratique. Renvoyer false peut interrompre l'exécution du code de fonction actuel. Il est donc également logique d'utiliser false comme valeur de retour autonome.

Implémenté : true est autorisé comme type indépendant

Dès dans l'article précédent, l'éditeur a mentionné que false peut être utilisé comme type indépendant (et déclaré), mais true ne le peut pas. Cette proposition propose d'ajouter true comme type indépendant pour rendre le système de types PHP plus expressif.

Réussi : Random Extension 5.x

est la cinquième itération d'une RFC proposée par Go Kudo pour améliorer le générateur de nombres aléatoires de PHP et déplacer certaines séries de modifications dans une extension distincte.

Réussi : Ajouter une notification de dépréciation pour is_callable et ajouter un type appelable

PHP dépréciera une partie des performances de la fonction is_callable à l'avenir, mais seule une notification de dépréciation sera générée dans PHP8.2. La raison en est, en termes simples, que la syntaxe de is_callable prête à confusion lorsqu'elle est utilisée. Mais notez que is_callable abandonne uniquement l'utilisation de chaînes de jugement, telles que is_callable('myFunction'), et est toujours disponible pour d'autres types, comme une variable représentant une fonction de rappel.

Passé : Type de forme normale disjonctive

Cette proposition propose que PHP prenne en charge davantage de combinaisons de déclaration de type, telles que :

(A&B&D)|int|null
C'est-à-dire que la valeur peut être nulle, elle peut être un entier, ou elle Il peut s'agir d'objets qui implémentent l'interface A, l'interface B et l'interface D.

Vous pouvez vérifier les détails de la proposition : https://wiki.php.net/rfc/dnf_types

Plus de RFC

Il y a d'autres propositions en cours de discussion, faisons-en une simple ci-dessous Introduction et liens . Discussion : nouvelle API CURL RUL (ajout de la classe curl et de la classe url)

Discussion : utilisation des valeurs d'attribut d'énumération lors des déclarations const

Discussion : sous-classes de fonctionnalités dans les programmes PDO (peut améliorer la compréhension de sqlite, prise en charge de pgsql)

Discussion : faire en sorte que la famille iterator_*() accepte tous les objets itérables (actuellement uniquement les Traversables, mais pas les tableaux)

Discussion : implémenter le Stringable automatique dans les énumérations (mais toujours pas de remplacements personnalisés)

Discussion : fermeture courte (fonctions anonymes qui Si vous souhaitez utiliser des variables externes, vous devez utiliser une instruction use. Une fermeture courte peut résoudre ce problème (même effet que la fonction flèche de js))

Le lien de l'article mentionné :

Version Windows de PHP8.2 (https://. windows.php.net/qa/)

  • Image Docker de PHP8.2 (https://hub.docker.com/_/php?tab=tags&page =1&name=8.2.0)

  • PHP8. 2 Adresse d'hébergement du code source (https://github.com/php/php-src)

  • Installation Homebrew de l'outil Mac PHP8.2 (https:// github.com/shivammathur/homebrew-php)

  • Quelles seront les nouveautés de PHP8.2 ? (https://phpreturn.com/index/a626a74a300dc5.html)

  • Proposition : créer false et null en tant que types autonomes (https://wiki.php.net/rfc/null-false-standalone-types)

  • Entretien du développeur pour la proposition (false et null comme types distincts) (https://phpinternals.news/99)

  • Proposition : true comme type distinct (https://wiki.php.net /rfc /true-type )

  • Proposition : Avis de dépréciation pour is_callable ( https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices)

  • Proposition : Types de forme normale disjonctifs (https://wiki.php.net/rfc/dnf_types)

  • Proposition : Nouvelle API d'URL CURL (https://wiki.php.net/rfc/curl-url-api)

  • Proposition : déclaration const utilisant les valeurs de propriété enum (https://wiki.php.net/rfc/fetch_property_in_const_expressions)

  • Proposition : sous-classe spécifique de PDO (https://wiki.php.net/rfc /pdo_driver_special_subclasses )

  • Proposition : étendre le multi-élément itérable de l'itérateur (https://wiki.php.net/rfc/iterator_xyz_accept_array)

  • Proposition : implémenter un Stringable automatique sans centrage (https://wiki. php.net/rfc/auto -implement_stringable_for_string_backed_enums)

  • Proposal: Short Closure (https://wiki.php.net/rfc/auto-capture-closure)

Pour plus d'instructions de fusion sur PHP, vous pouvez voir :https://thephp .foundation/blog/2022/06/30/php-core-roundup-3/#merged-prs-and-commits

Adresse originale en anglais : https://thephp.foundation/blog/ 2022/06/30/ php-core-roundup-3/

Adresse de réimpression : https://phpreturn.com/index/a62be479ae1e02.html

Plateforme originale : PHP Arsenal

Déclaration de droits d'auteur : cet article est sponsorisé par phpreturn.com (PHP Weaponry Official Site Web) Original et premier publié, tous les droits appartiennent à phpreturn (PHP Weaponry). Ce site autorise toute forme de réimpression/citation d'articles, mais la source doit être indiquée en même temps.

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer