Comments 14
1. Ваш код не на 5.2+, а на 5.3+.
2. Зачем в formate() запускать все известные форматеры, вместо того чтобы узнать какие есть в формате и запустить только их?
2. Зачем в formate() запускать все известные форматеры, вместо того чтобы узнать какие есть в формате и запустить только их?
0
1. Эмм. Вы правы, добавлю проверку на substr_count(). Как-то сначала подумал только про рег. выражения, вспомнил поговорку «если вы решаете свою проблему с помощью регулярных выражений — считайте, что у вас уже две проблемы» — и решил отказаться :)
Спасибо за ценное замечание.
2. Мой код на 5.3, но это не принципиально. В топике указано, чем форматтер может быть:
Спасибо за ценное замечание.
2. Мой код на 5.3, но это не принципиально. В топике указано, чем форматтер может быть:
имя функции, массив (класс, метод), массив (объект, метод) или Closure (если у вас php-5.3+)
0
Напишите версию на 5.2 и поймете, что она не имеет смысла, т.к. нет DateTime, assert, Closure и пр. А остальной код — это просто пример использования call_user_func.
Так что просто напишите, что только 5.3+ и не парьтесь. :)
Кстати, намного интереснее думаю будет использовать preg_replace_callback (правда не уверен нормально ли он работает с closure).
Так что просто напишите, что только 5.3+ и не парьтесь. :)
Кстати, намного интереснее думаю будет использовать preg_replace_callback (правда не уверен нормально ли он работает с closure).
0
Мануал пишет насчет DateTime:
У меня нет под рукой PHP-5.2, но нет и оснований не доверять документации.
И использовать preg_replace_callback(), имхо, неинтересно и явно менее понятно, чем простой substr_count().
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().
0
На мой взгляд грамотно и удобно. Мне пригодиться, спасибо.
-1
Судя из заголовка, ожидал увидеть реализацию многоязычности. Не увидел. :(
+1
Да, здесь нет собственно многоязычности. Однако, немного расширить функционал для ее поддержки не составит труда. Здесь же я хотел скорее продемонстрировать подход к решению проблемы, который лично мне показался оригинальным (вот такой я нескромный, да).
0
Очень интересное решение. В принципе решать проблему на уровне CMS не совсем универсальный путь, но, лично я, совершенно не представляю как можно сделать патч к РНР. Хотя внести изменения в сам язык было бы супер-универсально!!!
0
да, гемор еще тот был с датами. Автору спасибо! буду ковыряться, может что пригодится
0
Sign up to leave a comment.
Красивые и правильные даты на любом языке