За последние 24 часа нас посетили 36512 программистов и 1713 роботов. Сейчас ищут 798 программистов ...

Класс MessageFormatter не объявляется

Тема в разделе "PHP для новичков", создана пользователем NitroGenerate, 4 мар 2015.

  1. NitroGenerate

    NitroGenerate Новичок

    С нами с:
    25 сен 2014
    Сообщения:
    9
    Симпатии:
    0
    Доброго времени суток форумчане. Разбираюсь с мультиязычностью на сайте. Столкнулся с проблемой класса MessageFormatter. Судя по докам, это стандартный класс, который входит в PHP >= 5.3.0 http://php.ru/manual/class.messageformatter.html

    Для начала воспользуемся простым шаблоном и объявим класс:
    Код (PHP):
    1. $lng = 'ru';
    2. $pattern = 'At {1, time} on {1, date}, there was a disturbance on planet {0, number}.';
    3. $MessageFormatter = new MessageFormatter($lng, $pattern);
    4. var_dump($MessageFormatter);
    var_dump говорит, что все ОК и у нас есть экземпляр класса MessageFormatter. Ну тут мы можем дальше с ним работать.

    Усложним шаблон:
    Код (PHP):
    1. $lng = 'ru';
    2. $pattern = '{delta, plural, =1{день} one{# день} few{# дня} many{# дней} other{# дня}}';
    3. $pattern2 = '{0, plural, =0{Zero}=1{One}other{Unknown #}}';
    4. $MessageFormatter = new MessageFormatter($lng, $pattern);
    5. $MessageFormatter2 = new MessageFormatter($lng, $pattern2);
    6. var_dump($MessageFormatter);
    7. var_dump($MessageFormatter2);
    В результате, как в первом,так и во втором случае, var_dump говорит, что null.
    Причем второй шаблон, брал из примера с php.net и результат null.

    Есть у кого, какие идеи, где я ошибаюсь. Что я делаю не так?
    PHP Version 5.6.6
    intl version 1.1.0
    intl ICU version 4.2.1