ResourceBundle返回NULL,不会引发任何错误
对于国际化数据,使用PHP的“intl”扩展中的\ResourceBundle
类将会非常好。ResourceBundle返回NULL,不会引发任何错误
我得到了扩展运行(PHP 5.3.4; Windows)并使用ICU Data Library Customizer *创建了一个.dat文件,但我没有从资源包类获得预期的结果。
现在我做这个
$bundle = '/var/www/libs/icudt48l.dat';
$resource = new \ResourceBundle('en_US', $bundle, true);
var_dump($resource, is_file($bundle)); //--> NULL, TRUE
问题是$resource
返回NULL,而不引发任何错误。这是怎么回事?
*(只有最后两个数据切片检查—基础数据总是包含—和我出口它作为ICU4C)
<?php
$b = '/var/www/libs/icudt48l';
$r = new \ResourceBundle('en_US', $b, true);
var_dump($r instanceof \ResourceBundle); //-> TRUE
中的.dat扩展应该留给使它可以工作
试过这个。不工作。 '$ r'仍然是'NULL'。 – 2014-06-07 13:14:02
尝试$resource = resourcebundle_create('en_US',$bundle,true);
没有成功,试过了; resourcebundle_create(); new ResourceBundle(); ResourceBundle :: create(); 全部返回NULL ... – 2011-06-06 19:38:57
您可能会考虑直接读取CLDR数据,因为这是ICU数据的来源 - 不应依赖ICU4C数据的内部格式。请问,您定制的目的是什么?根据intl扩展名实现组件,或者向intl或ICU提出更改建议可能更好。 – 2011-06-09 19:24:54