Ничего странного в этом нет. Когда осуществлялся переход — я работал со Smarty2. Я к нему привык, работал с ним долго и он мне как родной стал. Синтаксис Smarty мне был привычен и я естественно пытался минимизировать проблемы по адаптации для себя. Пытался использовать Smarty3, но мне это не удалось. Может быть из-за того, что в то время он был еще не стабилен. Не вчера это было, а весьма давненько. Соответственно и тесты я проводил на второй версии, опирался на результаты вот того топика что выше (по второй версии результаты были вполне сопоставимы с моими) и выбрал Twig, Мне понравилось и возвращаться к Smarty у меня желания уже нет.
>>И часто приходится метод делать свойством и наоборот? :)
Да нет, это из раздела приятных мелочей.
По производительности я не возьмусь что-то оценивать. Не предвзятая и полная оценка это дело не одного дня, да и сомневаюсь я, что под силу это мне. А какие-то цифры с потолка и за уши притянутые никому не нужны и толку от них нет.
Выше есть ссылка на сравнение шаблонизаторов, там есть цифры. Позволяют понять порядок.
>>Соответственно вы потеряли либо в производительности, либо совершая такие правки вам надо помнить о необходимости перекомпиляции шаблонов
Производительность радует, помнить ни о чем не надо, просто пользуюсь и все. Как там что под капотом — меня не очень волнует. Не то, чтобы мне совсем не интересно, но все что я знаю — Twig выполняет свою работу и выполняет качественно. Разве еще что-то нужно? Мне — нет. Хватает и других проблем которыми приходится забивать голову.
>>Так что действительно очень слабенький аргумент.
Да они все не очень сильные. Каждый в отдельности. А всех вместе — вполне достаточно оказалось.
И тем не менее — прочесывать код и заменять кавычки из соображений производительности я не буду. Не из-за того, что это не влияет производительность, а из-за того, что затраченные усилия и полученный результат — не сопоставимы.
Я не утверждаю, что использовал все возможности Smarty, нет. Наверняка много можно было реализовать и там тоже. Но с Twig у меня получилось как-то проще и прозрачнее. А главное быстрее.
{$user->free_space()} и {$user.free_space} в Smarty для методов и полей соответственно, верно?
И {$user.free_space} и {$user.free_space} в Twig. Вот захочется мне потом результаты работы этого метода кэшировать в поле класса. В Smarty мне придется править шаблон (или шаблоны), а в Twig — нет. Это конечно слабенький аргумент как для определяющего при выборе шаблонизатора :).
Это наверное третья версия, да? До нее у меня руки не дошли.
Вообще путь был таким — сначала попробовал Smarty (2), потом оказалось, что производительность не радует и начал искать альтернативу. Остановился на Twig.
>>extract($attributes);
У меня на extract чего-то нервный тик. :(
В итоге то что изменилось? Ну еще прилепим модификаторы потом, потом добавим песочницу, потом еще немного и в итоге все равно получится шаблонизатор. Нет разницы. Все равно шаблон компилируется один раз и дальше работает точно так же, как и написанный руками код. Но шаблоны писать проще, поддерживать проще и вообще в целом приятнее.
Предпросмотр, правда, не работает при редактировании топика почему-то. Но все равно попробую. Спасибо.
Извините за оффтопик.
Есть в вашем комментарии некоторое противоречие между «привык читать больше» и «дорогово».
Да и не очень хочу.
Только что попробовал — Warning: Invalid argument supplied for foreach() in
И да, это таки невозможно читать и поддерживать. И это при том, что строк то всего ничего!
Да нет, это из раздела приятных мелочей.
По производительности я не возьмусь что-то оценивать. Не предвзятая и полная оценка это дело не одного дня, да и сомневаюсь я, что под силу это мне. А какие-то цифры с потолка и за уши притянутые никому не нужны и толку от них нет.
Выше есть ссылка на сравнение шаблонизаторов, там есть цифры. Позволяют понять порядок.
Производительность радует, помнить ни о чем не надо, просто пользуюсь и все. Как там что под капотом — меня не очень волнует. Не то, чтобы мне совсем не интересно, но все что я знаю — Twig выполняет свою работу и выполняет качественно. Разве еще что-то нужно? Мне — нет. Хватает и других проблем которыми приходится забивать голову.
>>Так что действительно очень слабенький аргумент.
Да они все не очень сильные. Каждый в отдельности. А всех вместе — вполне достаточно оказалось.
{$user->free_space()} и {$user.free_space} в Smarty для методов и полей соответственно, верно?
И {$user.free_space} и {$user.free_space} в Twig. Вот захочется мне потом результаты работы этого метода кэшировать в поле класса. В Smarty мне придется править шаблон (или шаблоны), а в Twig — нет. Это конечно слабенький аргумент как для определяющего при выборе шаблонизатора :).
Вообще путь был таким — сначала попробовал Smarty (2), потом оказалось, что производительность не радует и начал искать альтернативу. Остановился на Twig.
У меня на extract чего-то нервный тик. :(
В итоге то что изменилось? Ну еще прилепим модификаторы потом, потом добавим песочницу, потом еще немного и в итоге все равно получится шаблонизатор. Нет разницы. Все равно шаблон компилируется один раз и дальше работает точно так же, как и написанный руками код. Но шаблоны писать проще, поддерживать проще и вообще в целом приятнее.