ResourceBundle возвращает NULL без каких-либо ошибок
Для интернационализированных данных было бы здорово работать с \ResourceBundle
класс из расширения PHP "intl".
Я запустил расширение (PHP 5.3.4; Windows) и создал файл.dat с помощью ICU Data Library Customizer*, но я не получил ожидаемого результата от класса комплекта ресурсов.
Теперь я делаю это
$bundle = '/var/www/libs/icudt48l.dat';
$resource = new \ResourceBundle('en_US', $bundle, true);
var_dump($resource, is_file($bundle)); //--> NULL, TRUE
Проблема в $resource
возвращает NULL без каких-либо ошибок. В чем дело?
* (Были проверены только последние два раздела данных - базовые данные всегда включены - и я экспортировал их как ICU4C)
2 ответа
Решение
<?php
$b = '/var/www/libs/icudt48l';
$r = new \ResourceBundle('en_US', $b, true);
var_dump($r instanceof \ResourceBundle); //-> TRUE
нужно оставить расширение.dat, чтобы оно работало
Пытаться $resource = resourcebundle_create('en_US',$bundle,true);