Le test alpha de PHP 8.4 a commencé

La première version alpha de la nouvelle branche du langage de programmation PHP 8.4 a été présentée. La sortie est prévue pour le 21 novembre. Les principales nouveautés, déjà disponibles pour des tests ou prévues pour être mises en œuvre dans PHP 8.4 :

  • Ajout du support des gestionnaires de propriétés (property hook), permettant d'ajouter une logique supplémentaire exécutée lors de la modification ou de l'accès aux propriétés d'un objet, mise en œuvre sans interception des opérations de lecture et d'écriture à l'aide de fonctions générales __get et __set, et sans création de méthodes d'enveloppement supplémentaires. L'utilisation des gestionnaires de propriétés permet de réduire considérablement le volume de code et de simplifier la redéfinition du comportement des propriétés, grâce à l'attachement d'un gestionnaire personnalisé à chaque propriété. class User { public string $name { set { if (strlen($value) === 0) { throw new ValueError("Le nom ne peut pas être vide"); } $this->name = $value; } } public function __construct(string $name) { $this->name = $name; } }
  • Il est désormais possible d'indiquer des références de méthodes dans la construction «new» sans parenthèses, c'est-à-dire qu'au lieu de «$name = (new MyClass())->method()», on peut maintenant utiliser «$name = new MyClass()->method()».
  • Au lieu du paramètre général «opcache.jit_buffer_size» pour gérer le compilateur JIT et configurer la taille du tampon JIT, les paramètres «opcache.jit» et «opcache.jit_buffer_size» ont été proposés. Pour désactiver le JIT, il suffit maintenant d'indiquer «opcache.jit=disable» au lieu de «opcache.jit_buffer_size=0». En outre, des modifications ont été apportées pour réduire la consommation de mémoire et améliorer les performances du JIT dans certaines situations.
  • Le comportement dans lequel les paramètres de fonction ayant une valeur par défaut de null permettaient automatiquement l'attribution de valeurs null a été déclaré obsolète. Désormais, pour que de tels paramètres puissent accepter des valeurs null, il est nécessaire d'indiquer explicitement le préfixe «?». Par exemple, au lieu de «function save(Book $book = null) {}», il convient d'indiquer «function save(?Book $book = null) {}».
  • La classe \Dom\HTMLDocument a été implémentée, permettant un parsing correct du balisage HTML5.
  • Ajout de la fonction request_parse_body() pour le parsing des requêtes HTTP avec le type de contenu multipart/form-data (RFC1867).

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster