# La classe ResourceBundle

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

## Introduction

Les applications localisées ont souvent besoin de manipuler des données devant être personnalisées en fonction d'une locale considérée, p. ex. : messages, libellés, chaînes 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 bundles de ressources ICU supportent les ressources simples et complexes. Les ressources complexes sont des conteneurs qui peuvent être indexés numériquement ou littéralement (comme les tableaux PHP). Les ressources simples, elles, peuvent être de type chaîne, 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

class ResourceBundle implements IteratorAggregate, Countable {
/* Méthodes */
public function __construct(?string `$locale`, ?string `$bundle`, bool `$fallback` = `true`)
public function count(): int
public static function create(?string `$locale`, ?string `$bundle`, bool `$fallback` = `true`): ?ResourceBundle
public function get(string|int `$index`, bool `$fallback` = `true`): ResourceBundle|array|string|int|null
public function getErrorCode(): int
public function getErrorMessage(): string
public static function getLocales(string `$bundle`): array|false
}

## Historique

Version | Description
--- | ---
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.

## Voir aussi

- » Configuration des ressources ICU
- » ICU Data

## Sommaire

- ResourceBundle::count — Récupère le nombre d'éléments dans le faisceau
- ResourceBundle::create — Crée une ressource représentant un faisceau
- ResourceBundle::get — Récupère les données depuis le faisceau
- ResourceBundle::getErrorCode — Récupère le dernier code erreur du faisceau
- ResourceBundle::getErrorMessage — Récupère le dernier message d'erreur depuis le faisceau
- ResourceBundle::getLocales — Récupère les locales supportées

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open