Php

"
Dev back

PHP 8.4: OpenSSL: Minimum required OpenSSL version increased to 1.1.1

La version minimale requise pour l'extension OpenSSL de PHP a été augmentée à 1.1.1 dans PHP 8.4. Cela implique la nécessité d'utiliser des versions récentes d'OpenSSL pour assurer la compatibilité, surtout avec la prise en charge de TLS 1.3. Les systèmes d'exploitation comme RHEL/CentOS 7 sont impactés, car ils atteignent leur fin de vie, tandis que d'autres distributions fournissent déjà des versions supérieures à 1.1.1.

"
Dev back

PHP 8.4: New `grapheme_str_split` function

PHP 8.4 introduit la nouvelle fonction `grapheme_str_split`, qui découpe une chaîne en unités fonctionnelles appelées graphemes, permettant un traitement précis des langues complexes et des Emojis. Contrairement à `mb_str_split`, qui divise en caractères multi-octets, cette nouvelle fonction maintient l'intégrité des modificateurs de voyelles, essentielle pour des scripts comme le cinghalais. Bien que le polyfill soit possible via des expressions régulières, il n'est pas toujours fiable pour les Emojis complexes.

"
Dev back

PHP 8.4: New `array_find`, `array_find_key`, `array_any`, and `array_all` functions

La version PHP 8.4 introduit quatre nouvelles fonctions dédiées aux tableaux : `array_find`, `array_find_key`, `array_any`, et `array_all`. Ces fonctions permettent de rechercher et d'inspecter les éléments d'un tableau à l'aide de fonctions de rappel. Elles offrent des approches pratiques pour des opérations courantes telles que la recherche d'un élément correspondant à un critère défini ou la vérification si tous ou certains éléments d'un tableau satisfont une condition donnée. Ces ajouts visent à améliorer la gestion des tableaux et n'entraînent pas de problèmes de compatibilité douteux avec les versions antérieures.

"
Dev back

PHP 8.4: `E_STRICT` constant deprecated

PHP 8.4 déprécie la constante `E_STRICT`, qui était utilisée pour gérer les notifications sur le code non strictement correct. À partir de PHP 8.0, toutes les notifications ont été mises à jour, et il est désormais recommandé de ne plus émettre de notifications. Les erreurs de dépréciation se produisent si cette constante est utilisée, et elle sera complètement retirée dans PHP 9.0. Les applications doivent ajuster leur gestion des erreurs pour ignorer ces notifications afin d'éviter des avertissements.

"
Dev back

PHP 8.4: MBString: Unicode Character Database updated to version 16

La mise à jour de PHP 8.4 inclut une version 16.0 de la base de données Unicode pour l'extension MBString, offrant un support pour de nouveaux caractères et emojis. Bien qu'il n'y ait pas de modifications directes des fonctions MBString, les règles de conversion de casse et de mesure de largeur sont désormais alignées avec les dernières normes Unicode. La compatibilité ascendante est maintenue, bien qu'il puisse y avoir des variations de données converties précédemment sur d'anciennes versions de PHP.

"
Dev back

PHP 8.5: Curl: New `curl_multi_get_handles` function

La version 8.5 de PHP introduit une nouvelle fonction dans l'extension Curl, `curl_multi_get_handles`, qui renvoie un tableau d'objets à partir d'un objet. Cette fonction améliore la gestion des objets ajoutés à un objet, permettant une destruction libre des objets sans les maintenir dans une liste. Elle n'entraîne pas de problèmes de compatibilité ascendante tant qu'aucune fonction similaire n'est déclarée par l'application.

"
Dev back

PHP 8.4: Intl: New `intltz_get_iana_id` function and `IntlTimeZone::getCanonicalID` method

La version 8.4 de PHP introduit une nouvelle fonction `intltz_get_iana_id` et une méthode statique `IntlTimeZone::getCanonicalID` pour la gestion des identifiants de fuseaux horaires. Ces ajouts facilitent la récupération de l'ID de fuseau horaire IANA correct à partir d'identifiants obsolètes ou remplacés. Cette fonction est disponible uniquement avec l'extension Intl compilée avec la version 74 ou ultérieure d'ICU et ne devrait pas causer de problèmes de compatibilité ascendante dans la plupart des cas.

"
Dev back

PHP 8.4: Curl: New `CURL_HTTP_VERSION_3` and `CURL_HTTP_VERSION_3ONLY` constants for HTTP/3 support

La version 8.4 de PHP introduit des constantes permettant le support de HTTP/3 via l'extension Curl. Il est possible de faire des requêtes HTTP/3 si l'extension Curl est compilée avec les dépendances nécessaires. Les nouvelles constantes `CURL_HTTP_VERSION_3` et `CURL_HTTP_VERSION_3ONLY` sont désormais disponibles pour configurer les options de Curl, améliorant la compatibilité et la possibilité d'utiliser HTTP/3 dans les applications PHP. La rétrocompatibilité est préservée, ne causant pas de problèmes si les constances existantes ne sont pas redéfinies.

Dev back

PHPStan 1.10 Comes With a Lie Detector

La version 1.10 de PHPStan introduit un nouvel outil de validation des types dans les annotations PHPDoc, permettant de détecter les incohérences dans les déclarations de type. Cela vise à encourager les développeurs à éviter l'utilisation des annotations inline pour favoriser des pratiques de codage plus sûres. PHPStan maintenant met en évidence les cas de types non gérés dans les énumérations et améliore la signalisation des conditions toujours vraies. Des conseils contextuels ont également été ajoutés pour aider les développeurs à comprendre et résoudre les problèmes de type.