• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ResourceBundle::create()

    resourcebundle_create

    ResourceBundle::__construct

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

    Create a resource bundle

    说明

    面向对象风格(method)

    publicstaticResourceBundle::create(string $locale,string $bundlename[,bool $fallback]): ResourceBundle
    过程化风格
    resourcebundle_create(string $locale,string $bundlename[,bool $fallback]): ResourceBundle

    面向对象风格(constructor):

    publicResourceBundle::__construct(string $locale, string $bundlename[,bool $fallback])

    Creates a resource bundle.

    参数

    $locale

    Locale for which the resources should be loaded(locale name, e.g. en_CA).

    $bundlename

    The directory where the data is stored or the name of the .dat file.

    $fallback

    Whether locale should match exactly or fallback to parent locale is allowed.

    返回值

    Returns ResourceBundle object or NULL on error.

    范例

    resourcebundle_create() example

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

    ResourceBundle::create() example

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

    以上例程会输出:

    ¡Hola, mundo!
    

    参见

    • resourcebundle_get() Get data from the bundle
    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
    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
    To get the resource bundle provided by libicu, you can pass "null" as $bundlename.