Pull to refresh

Comments 14

1. Ваш код не на 5.2+, а на 5.3+.
2. Зачем в formate() запускать все известные форматеры, вместо того чтобы узнать какие есть в формате и запустить только их?
1. Эмм. Вы правы, добавлю проверку на substr_count(). Как-то сначала подумал только про рег. выражения, вспомнил поговорку «если вы решаете свою проблему с помощью регулярных выражений — считайте, что у вас уже две проблемы» — и решил отказаться :)

Спасибо за ценное замечание.

2. Мой код на 5.3, но это не принципиально. В топике указано, чем форматтер может быть:
имя функции, массив (класс, метод), массив (объект, метод) или Closure (если у вас php-5.3+)
Напишите версию на 5.2 и поймете, что она не имеет смысла, т.к. нет DateTime, assert, Closure и пр. А остальной код — это просто пример использования call_user_func.

Так что просто напишите, что только 5.3+ и не парьтесь. :)

Кстати, намного интереснее думаю будет использовать preg_replace_callback (правда не уверен нормально ли он работает с closure).
Мануал пишет насчет DateTime:
Although the DateTime class (and related functions) are enabled by default since PHP 5.2.0, it is possible to add experimental support into PHP 5.1.x by using the following flag before configure/compile: CFLAGS=-DEXPERIMENTAL_DATE_SUPPORT=1
.

У меня нет под рукой PHP-5.2, но нет и оснований не доверять документации.

И использовать preg_replace_callback(), имхо, неинтересно и явно менее понятно, чем простой substr_count().
Проверил. Согласен. Учел. Спасибо. :)
На мой взгляд грамотно и удобно. Мне пригодиться, спасибо.
Судя из заголовка, ожидал увидеть реализацию многоязычности. Не увидел. :(
Да, здесь нет собственно многоязычности. Однако, немного расширить функционал для ее поддержки не составит труда. Здесь же я хотел скорее продемонстрировать подход к решению проблемы, который лично мне показался оригинальным (вот такой я нескромный, да).
Фраза «на любом языке» из заголовка не раскрыта. Потрудитесь убрать ее оттуда или добавить в код функционал мультиязычнотси. Желательно тоже «красивый».
Трудиться, уж простите, не буду. Форматтер с названиями месяцев или дней недели на любом языке — дело пары минут — вот вам и многоязычность.
Очень интересное решение. В принципе решать проблему на уровне CMS не совсем универсальный путь, но, лично я, совершенно не представляю как можно сделать патч к РНР. Хотя внести изменения в сам язык было бы супер-универсально!!!
gettext вам в помощь :)
UFO just landed and posted this here
да, гемор еще тот был с датами. Автору спасибо! буду ковыряться, может что пригодится
Sign up to leave a comment.

Articles