Découvrez les dernières fonctionnalités de PHP 8.3
À partir de novembre 2023, PHP 8.3 sera la dernière version du langage de programmation pour le développement web. Avec diverses améliorations pour les programmeurs (comme les types d’union, les propriétés en lecture seule et les messages d’erreur améliorés), en tirer parti signifie que vous devez effectuer une mise à niveau.
Voici un aperçu des nouvelles fonctionnalités de PHP, avec quelques étapes pour les mettre en œuvre, à l’aide d’exemples pratiques.
1. Les types Union et les types Intersection
En PHP 8.3, une amélioration notable concerne l’implémentation des types d’intersection et d’union. Ces types permettent aux codeurs de spécifier les paramètres et les types de retour comme un mélange de différents types, augmentant ainsi la polyvalence et la durabilité du code.
En utilisant le symbole du tuyau (|), les types d’union permettent de spécifier un paramètre ou une valeur de retour avec plusieurs types. Par exemple, supposons que vous ayez une fonction qui accepte une chaîne de caractères ou un nombre entier en entrée ; vous pourriez définir son paramètre de la manière suivante :
En revanche, avec les types d’intersection, vous pouvez définir une valeur de retour ou un paramètre comme une combinaison de deux types ou plus. Par conséquent, la valeur de retour ou le paramètre doit correspondre à tous les types de l’intersection. Examinons un exemple :
Dans cet exemple, l’argument doit être un objet implémentant à la fois le type Accès au tableau et Comptable et la fonction doit renvoyer un nombre entier.
Un type d’union est défini par le symbole du tuyau (|) et vous permet de spécifier plusieurs types qu’un paramètre ou une valeur de retour peut avoir.
Les types d’intersection, quant à eux, vous permettent de définir un paramètre ou une valeur de retour comme une intersection de deux types ou plus. Cela signifie que les paramètres ou les valeurs de retour doivent satisfaire à tous les types d’intersection.
2. Propriétés en lecture seule
L’ajout d’attributs en lecture seule en PHP 8.3 est un autre aspect utile. Vous pouvez déclarer des propriétés en lecture seule en utilisant cette propriété, ce qui empêche toute modification ultérieure de leur valeur et ne permet qu’une seule initialisation.
Vous pouvez utiliser cette fonctionnalité pour augmenter la sécurité et la fiabilité de votre code en empêchant la modification involontaire de données cruciales.
Cet exemple de PHP 8.3 montre comment définir une propriété en lecture seule.
Dans l’exemple ci-dessus, la fonction Object() initialise la propriété $name une seule fois. Elle ne peut être spécifiée qu’en lecture seule.
3. Messages d’erreur améliorés
Lorsqu’une erreur fatale survient dans un script PHP, l’attribut Enhanced Error Messages de PHP 8.3 fournit des messages d’erreur plus détaillés et plus utiles. Les développeurs peuvent rapidement identifier et résoudre les problèmes de code grâce à cette fonctionnalité.
Lors de l’accès à un index de tableau indéfini, les messages d’erreur améliorés sont en action. Dans les versions précédentes de PHP, vous obteniez un message d’erreur comme celui-ci :
Ce message d’erreur ne dit pas grand chose sur l’origine du problème. Cependant, avec les messages d’erreur améliorés de PHP 8.3, vous recevrez le message d’erreur suivant, plus détaillé :
Ce message d’erreur fournit une trace de pile pour vous aider à déterminer l’origine du problème et vous informe que vous essayez d’utiliser une chaîne de caractères comme tableau (une des nombreuses fonctions de manipulation de texte en PHP). De plus, il vous informe que vous essayez d’accéder à une valeur nulle à partir d’un tableau.
Se préparer à PHP 8.3
Le passage à PHP 8.3 est essentiel pour les concepteurs, compte tenu des améliorations les plus récentes. L’introduction des types union et intersection dans PHP 8.3 permet aux programmeurs de gérer plus facilement les types de données complexes.
En empêchant les modifications involontaires de données importantes, les propriétés en lecture seule augmentent également la fiabilité du code. De manière générale, la mise à niveau vers PHP 8.3 permet aux développeurs d’accéder à des outils plus puissants et plus adaptables pour créer des applications web performantes avec des frameworks comme Laravel.
S’abonner à notre lettre d’information