PHP 8.3.0 est sorti !

Informations sur les versions de PHP
Avatar du membre
Fred Fred
Fondateur
Messages: []
Enregistré depuis: 4 ans 11 mois
Identité: Fred Rimbert
Forum phpBB: https://caforum.fr
Localisation: Le Lude - Pays de la Loire
Intérêt: GitHub

PHP 8.3.0 est sorti !

Message par Fred »

L'équipe de développement PHP annonce la disponibilité immédiate de PHP 8.3.0. Cette version marque la dernière version mineure du langage PHP.

Il n'y a pas d'énorme additions dans cette nouvelle release du langage, publiée hier, contrairement à ce qu'on a pu connaître avec les versions PHP 8.1 et 8.2.

Ajout de la fonction json_validate
PHP 8.3 introduit une nouvelle fonction clé en main json_validate, pour permettre la vérification de validité de chaînes JSON.

Cela était possible avant avec json_decode, mais impliquait une petite implémentation, cette nouvelle fonction, plus performante et moins gourmande en ressources, est donc la bienvenue.

Image


Récupération constante de classe dynamique
PHP 8.3 propose de permettre l’accès dynamique aux constantes de classe à l’aide de variables.

Au lieu d’accéder aux constantes de classe avec une valeur de chaîne statique (par exempleClassName::CONSTANT), vous pouvez utiliser une variable contenant le nom de la constante.

Image


Trois nouvelles méthodes Randomizer
La classe Randomizer introduite avec PHP 8.2 bénéficie de 3 nouvelles méthodes avec PHP 8.3 :
  • getBytesFromString() : permet de prendre au hasard x caractères présents dans une chaîne (x étant fourni en entrée)
  • getFloat() : permet de générer un float aléatoire entre 2 nombres donnés (minimum et maximum)
  • nextFloat() : même principe que getFloat, mais renvoie toujours un float compris entre 0 et 1 (cette fonction n'attend pas de paramètre)

Attribut override
Un nouvel attribut #[\Override] permet d'indiquer qu'une méthode va remplacer (écraser) la méthode parente.

Lorsque cet attribut est présent, le moteur PHP vérifiera si la méthode concernée existe bien dans la classe parente, et générera une erreur si ce n'est pas le cas.

Ce genre de fonctionnalité est très appréciable car elle permet de se prémunir d'erreurs lorsque le code est amené à évoluer.


Autres améliorations et éléments dépréciés
Parmi les autres changement apportés au langage par cette nouvelle version, on notera :
  • La possibilité de réinitialiser les propriétés en lecture seule (readonly) dans les situations de duplication (clonage)
  • Des messages d'erreur plus complets pour les différentes exceptions pouvant être levées par les classes Date et Time
  • Une amélioration de la gestion des erreurs de la fonction unserialize()
  • Les paramètres INI assert.active, assert.bail, assert.callback, assert.exception et assert.warning deviennent dépréciés
  • L'appel aux fonctions get_class() et get_parent_class() sans argument est déprécié

Plus de détails sur PHP 8.3 : https://www.php.net/releases/8.3/en.php
Page de téléchargement : https://www.php.net/downloads
Journal des modifications : https://www.php.net/ChangeLog-8.php#PHP_8_3