Intl

"
Dev back

PHP 8.6: New `grapheme_strrev` function

PHP 8.6 introduit la nouvelle fonction `grapheme_strrev`, qui permet d'inverser une chaîne de caractères en unités de graphemes, contrairement à `strrev` qui agit sur les octets. Cette nouvelle fonction est utile pour gérer correctement les caractères multibytes, tels que les emojis, en préservant leur structure. Elle est déclarée dans l'espace de noms global et ne devrait pas affecter la compatibilité ascendante des applications existantes, à moins qu'une fonction du même nom ne soit déjà déclarée. Un polyfill est également possible pour les versions antérieures de PHP.

"
Dev back

PHP 8.5: Intl: New `IntlListFormatter` class

La nouvelle classe `IntlListFormatter` dans l'extension Intl de PHP 8.5 permet de formater des listes selon la locale, en produisant des listes facilement lisibles avec des structures 'et' et 'ou'. Elle utilise des données de l'ICU pour le formatage et prend en charge différents styles de présentation. Sa construction nécessite une chaîne de locale valide et des options pour définir la largeur du formatage des listes. Elle réduit également la complexité en fonction de la langue choisie, mais peut nécessiter des données CLDR pour une compatibilité étendue.

"
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: 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.