Maison  >  Article  >  développement back-end  >  Une nouvelle version de PHP 8.3 est sur le point de sortir : tour d'horizon des nouveautés

Une nouvelle version de PHP 8.3 est sur le point de sortir : tour d'horizon des nouveautés

DDD
DDDoriginal
2023-11-10 09:36:301383parcourir

PHP 8.3 sera mis à jour le 23 novembre 2023. Il ajoutera des constantes de classe typées, une nouvelle fonction d'assistance pour json_validate pour vérifier les charges utiles json et quelques améliorations mineures à la classe Randomizer, à la lecture de la configuration ini, etc.

Une nouvelle version de PHP 8.3 est sur le point de sortir : tour dhorizon des nouveautés

L'équipe PHP publiera une nouvelle version mineure de PHP à la fin de ce mois. La nouvelle version contiendra principalement des améliorations et des fonctionnalités qui, à quelques exceptions près, ne seront pas très pertinentes pour les utilisateurs finaux.

Constantes de classe typées

Nous utilisons tous des constantes à un moment donné. Jusqu’à présent, le type d’une constante a été déduit de sa valeur. Cela signifie également que la possibilité d'hériter ou d'implémenter une classe peut en modifier le type. En un mot, la nouvelle fonctionnalité ressemblera à ceci :

class Foo {
   public int BAZ = 1;
}

Valider les charges utiles JSON

Dans presque toutes les situations où JSON doit être lu, converti et écrit, il doit d'abord être validé. Vous pouvez effectuer un "test de décodage" pour voir si une exception est levée, ou simplement configurer une branche else pour les cas de charge utile non valides.

Pour les charges utiles plus petites, cela peut convenir, mais décoder une très grande chaîne JSON dans un tableau juste pour vérifier si elle est valide n'est pas élégant. De plus, cela peut entraîner des problèmes de mémoire et/ou de performances.

La nouvelle fonction json_validate promet de vérifier si une chaîne donnée est un JSON valide et est plus performante et plus économe en mémoire. Comme indiqué ci-dessous :

json_validate(string $json, int $depth = 512, int $flags = 0): bool

Autres améliorations

Comme je l'ai dit, il y a d'autres améliorations dans la prochaine version de PHP 8.3. Comme personnellement, je ne pense pas qu'ils soient importants, je veux juste les mentionner ici par souci d'exhaustivité.

  1. Améliorations du randomiseur : petites améliorations, telles que la spécification de plages pour des valeurs à virgule flottante aléatoires ou la définition de longueurs de chaînes.

  2. Révision en lecture seule : autorise la réinitialisation des propriétés en lecture seule lors du clonage. Cela semble être un cas limite, mais peut être important pour le clonage profond.

  3. #[Override] attribut : Cet attribut est utilisé pour exprimer « l'intention » du programmeur. Il dit essentiellement "Je sais que cette méthode vient de la classe parent et je souhaite la remplacer. Si cela change, faites-le moi savoir."

  4. Classe anonyme en lecture seule : un peu explicite. Jusqu'à présent, il n'y avait aucun moyen de les créer, maintenant PHP l'introduit.

  5. Acquisition de constantes de classe dynamique : PHP permet de lire les propriétés de classe dynamique à l'aide d'accolades. Avec la version 8.3, il est également possible de lire des constantes (sérieusement, ne faites pas ça).

  6. Propriétés statiques dans Traits : les propriétés statiques héritées de la classe parent seront redéclarées. Personnellement, c'est un mauvais mélange de tout ce que vous pouvez faire en PHP. Pourquoi? Vérifiez-le.

Et plus encore. Comme je ne pense personnellement pas qu’ils soient pertinents, je ne les ai pas répertoriés ici. Pour une liste complète de toutes les modifications, consultez le guide de migration officiel.

Conclusion

Comme pour chaque nouvelle version, il n'y a pas de règle d'or à suivre pour savoir s'il faut mettre à jour ou non. Nous vous recommandons fortement d'utiliser la dernière version, car elle corrige souvent les bugs et les bugs des versions précédentes et offre de meilleures performances et fonctionnalités.

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:
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