PHP Conference Nagoya 2025

ResourceBundle::create

resourcebundle_create

ResourceBundle::__construct

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

ResourceBundle::create -- resourcebundle_create -- ResourceBundle::__constructСоздать пакет ресурсов

Описание

Объектно-ориентированный стиль (метод)

public static ResourceBundle::create(?string $locale, ?string $bundle, bool $fallback = true): ?ResourceBundle

Процедурный стиль

resourcebundle_create(?string $locale, ?string $bundle, bool $fallback = true): ?ResourceBundle

Объектно-ориентированный стиль (конструктор):

public ResourceBundle::__construct(?string $locale, ?string $bundle, bool $fallback = true)

Создаёт пакет ресурсов.

Список параметров

locale

Локаль для которой необходимо загружать ресурсы (имя локали, например, ru_RU).

bundle

Директория, в которой лежат данные, либо имя .dat файла.

fallback

Определяет, нужно ли точно придерживаться заданной локали или можно откатываться к родительской, если возможно.

Возвращаемые значения

Возвращает объект ResourceBundle или null в случае возникновения ошибки.

Примеры

Пример #1 Пример использования resourcebundle_create()

<?php
$r
= resourcebundle_create( 'es', "/usr/share/data/myapp");
echo
$r['teststring'];
?>

Пример #2 Пример использования ResourceBundle::create()

<?php
$r
= ResourceBundle::create( 'es', "/usr/share/data/myapp");
echo
$r['teststring'];
?>

Результат выполнения приведённого примера:

¡Hola, mundo!

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

Добавить

Примечания пользователей 3 notes

up
4
mail at dasprids dot de
10 years ago
Since this took me over 4 hours to find out after digging through the libicu source code, I thought it'd be a good idea to post it here. do access othere thata than the default "locale" data (which you get by passing NULL as $bundlename), you can use the following somewhat magic strings to get other resource bundles:

ICUDATA-curr
ICUDATA-lang
ICUDATA-region
ICUDATA-zone
up
3
Anonymous
5 years ago
Depending on the data you want to load, you might need to pass 'root' or something different as $locale.
Here is a list of examples and the corresponding link to the file that gets loaded:

ResourceBundle::create('de', 'ICUDATA-brkitr', false)
https://github.com/unicode-org/icu/blob/release-65-1/icu4c/source/data/brkitr/de.txt

ResourceBundle::create('root', 'ICUDATA-curr', false)
https://github.com/unicode-org/icu/blob/release-65-1/icu4c/source/data/curr/root.txt

ResourceBundle::create('root', 'ICUDATA-translit', false)
https://github.com/unicode-org/icu/blob/release-65-1/icu4c/source/data/translit/root.txt

ResourceBundle::create('likelySubtags', 'ICUDATA', false)
https://github.com/unicode-org/icu/blob/release-65-1/icu4c/source/data/misc/likelySubtags.txt
up
0
mail at dasprids dot de
10 years ago
To get the resource bundle provided by libicu, you can pass "null" as $bundlename.
To Top