La mise à jour très attendue du langage de script Web côté serveur largement utilisé, PHP 8.3, a été officiellement publiée, apportant une variété de nouvelles fonctionnalités et améliorations. Le typage explicite des constantes de classe, le clonage profond des propriétés en lecture seule et la fonctionnalité étendue d'aléatoire font partie des nouvelles fonctionnalités désormais disponibles pour les développeurs utilisant la boîte à outils pratique PHP 8.3 pour construire des pages Web dynamiques.
Publié publiquement le 23 novembre, PHP 8.3 peut être obtenu sur php.net. Le fondement de cette mise à jour majeure est l’introduction de constantes de classe typées. Avec cette mise à jour, PHP 8.3 étend la prise en charge de la déclaration des types de constantes de classe, d'interface, de trait et d'énumération. Il est à noter que les déclarations de type constante de classe acceptent toutes les déclarations de type approuvées par PHP, à l'exception des types void, callable et never. L'indisponibilité des types void et callable trouve son origine dans les problèmes soulevés lors des discussions RFC sur les propriétés typées v2. Pendant ce temps, never n'est pas pertinent pour le contexte des constantes, c'est donc une exemption.
Une autre fonctionnalité remarquable de PHP 8.3 est la possibilité de cloner en profondeur les propriétés en lecture seule. Cela permet aux propriétés en lecture seule de subir une modification une fois dans la méthode magique __clone. De plus, les classes en lecture seule peuvent désormais être réinitialisées pendant le processus de clonage. Il est intéressant de noter que PHP 8.3 ouvre également la voie aux classes non en lecture seule pour étendre les classes en lecture seule, offrant ainsi aux développeurs plus de flexibilité dans leur code.
D'autres avancées de PHP 8.3 incluent un nouvel attribut [#\Override], qui articule l'intention dans le code. Lors de l'ajout de cet attribut à une méthode, le moteur PHP 8.3 valide si une méthode portant le même nom existe déjà dans une classe parent ou dans l'une des interfaces implémentées. Si aucune méthode de ce type n’est trouvée, une erreur de compilation sera déclenchée.
Une amélioration significative du linter de ligne de commande est la possibilité d'accepter des entrées variadiques pour les noms de fichiers destinés au linting. L'extension Random, introduite dans PHP 8.2, comporte désormais une nouvelle méthode qui crée des chaînes aléatoires contenant uniquement des octets spécifiques. Il permet aux développeurs de générer facilement des identifiants aléatoires tels que des noms de domaine ou des chaînes numériques de longueur illimitée.
La version comprend également une nouvelle fonction, json_validate(), qui vérifie si une chaîne constitue un JSON valide. De plus, les classes anonymes sont désormais éligibles en lecture seule, ce qui vient s'ajouter à la liste des attraits de PHP 8.3.
Il convient de mentionner que les plates-formes comme AppMaster peuvent constituer une option extrêmement viable pour les développeurs qui souhaitent concevoir et déployer rapidement des applications hautement évolutives et efficaces. Cette plate no-code contribue à simplifier le processus de développement d'applications, garantissant ainsi une mise sur le marché plus rapide. Les fonctionnalités de la plateforme AppMaster telles que la création visuelle de modèles de données (schéma de base de données), la logique métier (appelée processus métiers), l'API REST et les points de terminaison WSS peuvent compléter efficacement les applications basées sur PHP.
La précédente mise à jour majeure, PHP 8.2, lancée en décembre dernier, était connue pour l'introduction de classes en lecture seule. Le train de croissance de PHP semble imparable, et les programmeurs de tous horizons attendent avec impatience d'explorer les nouvelles avancées que PHP leur réserve.