La classe ResourceBundle

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL intl >= 2.0.0)

Introduction

Les application localisées ont souvent besoin de manipuler des données devant être personnalisées en fonction d'une locale considérée, e.g.: messages, libélés, chaines de formatage. ICU permet de définir des ressources que l'application pourra charger avec une locale une fois pour toutes : tous les accès ultérieurs se feront au moyen d'une interface unique non dépendante de la locale considérée.

Cette classe permet l'accès aux fichiers de données de ICU. Ces fichiers représentent des tableaux binaires que ICU utilise pour stocker les données localisées.

Les bundle de ressource ICU supportent les ressources simples et complexes. Les ressources complexes sont des conteneurs qui peuvent être indéxés numériquement ou litéralement (comme les tableaux PHP). Les ressources simples, elles, peuvent être de type chaine, entier, binaire ou tableau numérique.

ResourceBundle supporte l'accès direct aux données via la syntaxe des tableaux ainsi que l'itération grâce à foreach. Ces possibilités existent aussi via les méthodes. Le résultat sera une valeur PHP pour les ressources simples, ou un objet ResourceBundle pour les ressources complexes. Les ressources sont en lecture seule.

Synopsis de la classe

classResourceBundleimplementsIteratorAggregate, Countable {
public__construct(?string$locale, ?string$bundle, bool$fallback = true)
publiccount(): int
publicstaticcreate(?string$locale, ?string$bundle, bool$fallback = true): ?ResourceBundle
publicgetErrorCode(): int
publicget(string|int$index, bool$fallback = true): mixed
publicstaticgetLocales(string$bundle): array|false
}

Historique

VersionDescription
8.0.0 La classe ResourceBundle implémente désormais IteratorAggregate. Auparavant, seule Traversable était implémentée.
7.4.0 La classe ResourceBundle implémente désormais Countable.

Sommaire

To Top