PHP 8.2 : de nouvelles fonctionnalités et améliorations sont prévues pour la fin de l’année 2022

PHP 8.2 : de nouvelles fonctionnalités et améliorations sont prévues pour la fin de l’année 2022
php 8.2 en approche

Le langage de programmation en ligne PHP (Hypertext Preprocessor) est le plus populaire pour créer des applications web dynamiques. Il est régulièrement mis à jour et les nouvelles versions incluent fréquemment de nouvelles fonctionnalités et des corrections pour les problèmes de sécurité.

PHP 8.2 est la dernière version du langage de programmation PHP, dont la sortie est prévue pour la seconde moitié de 2022.

Comme toute nouvelle version, la version 8.2 devrait apporter des améliorations en termes de performances, ainsi que des dépréciations et de nouvelles fonctionnalités. Quels sont ces différents changements ? Consultez cet article pour en savoir plus !

Fonctions améliorées et nouvelles fonctionnalités incluses dans PHP 8.2

Dans cette section, nous allons voir les fonctionnalités que nous nous attendons à voir incluses dans PHP 8.2.

1. De nouvelles classes sont introduites que readonly

La fonctionnalité de readonly a été introduite dans PHP dans la version 8.1. Cependant, à l’heure actuelle, pour utiliser cette fonctionnalité, vous devez déclarer chaque propriété de la classe séparément. Par exemple, avant PHP 8.2, vous deviez écrire les lignes de code suivantes pour déclarer les propriétés de la classe comme étant en lecture seule.

Avec l’introduction de PHP 8.2, l’écriture de ce code devient plus facile. Il est possible d’écrire ceci :

Ceci marquera chaque instance de la classe comme étant en lecture seule. Cette RFC déclare également que cette méthode de codage bloque le développement de propriétés dynamiques.

2. Suppression des paramètres sensibles des backtraces

Les données de backtrace sont utilisées en PHP pour aider au débogage. Lorsqu’une erreur se produit dans le code et qu’un journal d’erreur est transmis à un certain service pour être traité. Cela permet également aux développeurs d’être conscients des données envoyées lorsqu’ils appellent la fonction.

L’avantage de cette option est qu’elle facilite la détection et la correction rapide des erreurs. L’inconvénient est que cette fonction peut occasionnellement transmettre des données sensibles (mots de passe ou identifiants et numéros de carte de crédit) à des services tiers.

Dans la trace de la pile, il arrive que les mots de passe soient transmis en texte clair, ce qui présente un risque réel pour la sécurité. En revanche, PHP 8.2 apporte une nouvelle fonctionnalité qui bloque ces données sensibles lors de leur transmission. Le nouvel attribut SensitiveParameter a été ajouté pour aider à éviter les risques de sécurité.

Lorsque vous marquez une valeur sensible avec ‘SensiviteParameter’, elle ne sera pas affichée comme un simple texte dans les journaux d’erreurs.

3. Null et False peuvent être utilisés pour être des types distincts.

Les types d’union sont utilisés depuis PHP 8.0 pour permettre des valeurs de différents types. Avant PHP 8.2, ces deux types étaient utilisés comme une partie obligatoire du type union. Par conséquent, les utiliser comme types distincts provoquait une erreur qui pouvait être fatale.

null était auparavant considéré comme un type d’unité sans information, alors que false était auparavant utilisé pour indiquer l’état d’une erreur ou d’une absence.

En PHP 8.2, vous pouvez maintenant déclarer null et false comme des types séparés. De plus, true peut maintenant être déclaré comme un type, contrairement à ce qui se faisait auparavant.

4. Une nouvelle fonction mysqli_execute_query

Cette nouvelle fonction a été ajoutée pour simplifier le processus d’exécution des paramètres de requête. Elle est une combinaison de 3 autres fonctions, à savoir mysqli_prepare(), mysqli_execute(), mysqli_stmt_get_result().

Cette dernière permettra aux développeurs d’exécuter des requêtes MySQLi sans se mettre en danger par rapport au potentiel d’échappement des valeurs utilisateur. Au lieu d’écrire ce code compliqué comme suit :

Vous pouvez cependant appliquer le même programme sous une forme simplifiée, comme :

Comme PHP 8.1 a déjà éliminé l’obligation de spécifier le type de valeurs à utiliser dans le premier argument debind_param(), ce programme s’exécutera sans générer d’erreur.

5. Récupération des propriétés d’énumération des expressions constantes

PHP 8.2 permet l’utilisation de ->/ ? pour récupérer les énumérations dans les expressions constantes. Cette nouvelle RFC permet de récupérer les propriétés de valeur et de nom dans une variété d’endroits où les objets énumérés ne sont pas autorisés. Ceci est particulièrement vrai pour les clés de tableaux.

Par conséquent, il est maintenant possible d’exécuter ce code sera autorisé :

6. La possibilité de définir des constantes sous la forme de traits

Dans le langage PHP, les traits permettent de réutiliser le code entre les classes, puis de définir des propriétés et des méthodes. Il n’était auparavant pas possible d’utiliser les traits avec des constantes. La solution était de déclarer les constantes dans la classe de composition, ou même dans une interface qui est implémentée.

Cependant, avec PHP 8.2, il est possible de définir les constantes comme des traits similaires aux propriétés des méthodes ou des propriétés.

7. Une nouvelle fonctionnalité memory_reset_peak_usage

PHP 8.2 ajoute une nouvelle fonctionnalité memory_reset_peak_usage qui permettra aux développeurs de réinitialiser l’utilisation maximale de la mémoire. Cette RFC est particulièrement bénéfique pour les actions itératives.

Vous pouvez l’utiliser conjointement avec la fonctionnalité memory_get_peak_usage pour connaître la mémoire allouée pour chaque exécution d’un code.

Beaucoup de dépréciations à prévoir dans PHP 8.2

1. Dépréciation de ${string interpolation}.

2. Dépréciation des fonctions utf8_encode et Utf8_.

3. Les propriétés dynamiques ne sont pas dépréciées.

4. Dépréciation des callables supportés en partie

5. Certains encodeurs mbstring sont dépréciés.

Conclusion

PHP est un langage de programmation qui est constamment en développement.

Dans ce billet, nous vous avons fait découvrir les dernières fonctionnalités et dépréciations attendues dans la version 8.2. N’hésitez pas à consulter régulièrement notre blog pour en savoir plus sur les changements attendus dans le monde du web !

Actu Hébergement Web
opportunites-digitales.com
Logo
Compare items
  • VPN (0)
Compare