Я использую MacOs Sierra с установкой PHP 7. Я установил ICU, а также Intl, чтобы использовать Intl-компонент Symphony.
Я пытаюсь сделать это:
$localCurrency = new NumberFormatter('en_US', \NumberFormatter::CURRENCY);
$localCurrency = $localCurrency->getTextAttribute(NumberFormatter::CURRENCY_CODE);
Но я получаю эту ошибку:
Поведение метода $ symfony \ Component \ Intl \ NumberFormatter \ NumberFormatter :: __ construct () $ locale value ‘en_US’ не реализовано. Поддерживается только локаль «en». Пожалуйста, установите расширение «intl» для полной локализации.
Дело в том, что я установил intl и ICU, он виден в обоих php -i
а также в phpinfo();
,
Кроме того, я установил компонент intl в симфонию, это также видно в вендоре.
Так что я действительно понятия не имею, в чем проблема.
Похоже, проблема была с оператором использования, я должен был просто use NumberFormatter;
вместо того симфонического, как его только polyfill.
Теперь работает нормально.
Других решений пока нет …