# Класс ResourceBundle

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

## Введение

Локализованные программные продукты часто нуждаются в наборах данных подготовленных в зависимости от текущей локали, например: сообщения, метки, шаблоны форматирования. Механизм ресурсов ICU позволяет задать наборы ресурсов, которые приложение может загрузить в зависимости от текущей локали и использовать унифицированным, не зависящим от локали, образом.

Этот класс реализует доступ к файлам ресурсов ICU. Эти файлы являются бинарными массивами данных, которые ICU использует для хранения локализованных данных.

Пакет ресурсов ICU может содержать простые и сложные ресурсы. Сложные ресурсы - это контейнеры, которые могут быть индексированы как числами так и строками (аналогично массивам PHP). Простые ресурсы могут быть следующих типов: строки, целые, бинарные поля данных и целочисленные массивы.

ResourceBundleподдерживает прямой доступ к данным через синтаксис доступа к массивам и итерироваться через foreach, так же как и доступ через методы. В результате будет получено значение PHP для простых ресурсов и объекты ResourceBundle для сложных. Все ресурсы доступны только для чтения.

## Обзор класса

class ResourceBundle implements IteratorAggregate, Countable {
/* Методы */
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
}

## Список изменений

Версия | Описание
--- | ---
8.0.0 | Класс ResourceBundle теперь реализует интерфейс IteratorAggregate. Ранее был реализован интерфейс Traversable.
7.4.0 | Класс ResourceBundle теперь реализует интерфейс Countable.

## Смотрите также

- » Менеджер ресурсов ICU
- » Данные ICU

## Содержание

- ResourceBundle::count — Получить количество элементов в пакете
- ResourceBundle::create — Создать пакет ресурсов
- ResourceBundle::get — Получает данные из пакета
- ResourceBundle::getErrorCode — Получить последний код ошибки пакета
- ResourceBundle::getErrorMessage — Получить последнее сообщение об ошибке пакета
- ResourceBundle::getLocales — Получить поддерживаемые локали

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