php.watch

"
Dev back

PHP 8.4: Curl: New `CURLOPT_DEBUGFUNCTION` option

La version PHP 8.4 introduit une nouvelle option CURLOPT_DEBUGFUNCTION pour Curl, permettant d'émettre des informations de débogage supplémentaires durant les requêtes Curl. Cette option offre la possibilité de définir une fonction de rappel personnalisée pour traiter ces informations, permettant un meilleur contrôle sur la façon dont les informations de débogage sont gérées, en plus des constantes ajoutées pour indiquer le type de données transmises.

"
Dev back

PHP 8.4: Curl: New `CURLOPT_PREREQFUNCTION` option

La version PHP 8.4 introduit une nouvelle option dans l'extension Curl, appelée `CURLOPT_PREREQFUNCTION`, qui permet de définir un rappel pour décider si une requête doit être poursuivie ou abandonnée après l'établissement de la connexion initiale. Cette fonctionnalité est utile pour éviter les requêtes sur des adresses IP intranet ou des pays sanctionnés. Trois nouvelles constantes sont également ajoutées pour faciliter cette gestion. Cette fonctionnalité nécessite une version de libcurl 7.80.0 ou supérieure et ne peut pas être rétroportée à des versions PHP antérieures.

"
Dev back

PHP 8.4: Curl: `curl_getinfo` - `CURLINFO_POSTTRANSFER_TIME_T` support

PHP 8.4 introduit des améliorations pour la fonction `curl_getinfo`, permettant de récupérer le temps d'envoi des données avec l'option `CURLINFO_POSTTRANSFER_TIME_T`, si le système utilise libcurl 8.10.0 ou supérieur. La fonction renvoie un tableau d'informations sur la requête, incluant un nouvel élément indiquant le temps d'envoi en microsecondes. Cette mise à jour permet des mesures plus précises lors de l'upload de fichiers à distance, malgré un impact théorique minimal sur la compatibilité avec les versions antérieures de PHP tant que la Curl extension est utilisée correctement.

"
Dev back

PHP 8.4: Curl: `CURLOPT_DNS_USE_GLOBAL_CACHE` no longer has any effect

La version PHP 8.4 ne permet plus l'utilisation de l'option CURLOPT_DNS_USE_GLOBAL_CACHE dans l'extension Curl, en raison de problèmes de sécurité liés à la non-sécurité des threads. PHP émettra un avertissement pour les constructions thread-safe empêchant cette option. Il est conseillé de partager le cache DNS entre les requêtes en utilisant des objets spécifiques et en s'appuyant sur le résolveur DNS du système pour une compatibilité et une gestion standard du cache.

"
Dev back

PHP 8.5: All `MHASH_*` constants deprecated

Dans PHP 8.5, toutes les constantes liées aux fonctions obsolètes de l'extension Hash sont désormais également dépréciées, en plus des fonctions elles-mêmes, qui l'étaient déjà depuis PHP 8.1. Les développeurs doivent utiliser une méthode alternative pour éviter les notifications de dépréciation lors de l'utilisation de ces constantes et fonctions.

"
Dev back

PHP 8.4: PCRE2 Upgrade and Regular Expression Changes

La mise à jour de PHP 8.4 inclut PCRE2 10.44, introduisant des changements significatifs dans la syntaxe des expressions régulières, tels que l'utilisation de quantificateurs sans quantité minimale, la prise en charge des espaces dans les accolades, et des modifications liées au support d'Unicode 15. De plus, le support pour les assertions de lookbehind de longueur variable et le mode de restriction caseless sont désormais disponibles, augmentant la flexibilité et la compatibilité des regex en PHP.

"
Dev back

PHP 8.4: Curl: `curl_version()` `feature_list` support

La version 8.4 de PHP apporte une amélioration significative à l'extension Curl en introduisant une nouvelle clé dans la fonction `curl_version()`. Cette clé fournit une liste lisible des fonctionnalités disponibles, indiquant si elles sont supportées ou non. Cela simplifie la vérification du support de certaines fonctionnalités comme HTTP/3. De plus, la version minimale requise de libcurl passe à 7.61.0, rendant les fonctionnalités de Curl plus accessibles aux développeurs.

"
Dev back

PHP 8.4: New `http_(get|clear)_last_response_headers` functions

PHP 8.4 introduit deux nouvelles fonctions `http_get_last_response_headers` et `http_clear_last_response_headers`, permettant de gérer les en-têtes de réponse HTTP de manière plus claire, sans dépendre d'une variable magique historique. Ces fonctions améliorent la lisibilité du code et évitent les confusions liées à la variable qui n'est pas dépréciée mais est moins recommandée.

"
Dev back

PHP 8.4: New `mb_ucfirst` and `mb_lcfirst` functions

PHP 8.4 introduit les fonctions `mb_ucfirst` et `mb_lcfirst` qui permettent de modifier la casse du premier caractère d'une chaîne tout en étant sûres pour les caractères multi-octets. Ces nouvelles fonctions offrent des alternatives adaptées aux caractères Unicode pour des conversions de cas plus précises, prenant ainsi en charge les règles de conversion de casse définies par la norme Unicode. La compatibilité descendante est préservée à moins qu'un nom de fonction semblable ne soit déjà déclaré dans l'espace de noms global.

"
Dev back

PHP 8.4: Implicitly nullable parameter declarations deprecated

La version PHP 8.4 déprécie les déclarations de paramètres implicitement nullables, ce qui pourrait générer des avertissements dans les applications PHP existantes. Il est conseillé de déclarer explicitement les types comme nullable, et des changements spécifiques dans le code sont suggérés pour éviter les problèmes de compatibilité. Cette mesure vise à renforcer la sécurité des types et à rendre les déclarations de types plus expressives.