>>И часто приходится метод делать свойством и наоборот? :)
Да нет, это из раздела приятных мелочей.
По производительности я не возьмусь что-то оценивать. Не предвзятая и полная оценка это дело не одного дня, да и сомневаюсь я, что под силу это мне. А какие-то цифры с потолка и за уши притянутые никому не нужны и толку от них нет.
Выше есть ссылка на сравнение шаблонизаторов, там есть цифры. Позволяют понять порядок.
>>Соответственно вы потеряли либо в производительности, либо совершая такие правки вам надо помнить о необходимости перекомпиляции шаблонов
Производительность радует, помнить ни о чем не надо, просто пользуюсь и все. Как там что под капотом — меня не очень волнует. Не то, чтобы мне совсем не интересно, но все что я знаю — 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 чего-то нервный тик. :(
В итоге то что изменилось? Ну еще прилепим модификаторы потом, потом добавим песочницу, потом еще немного и в итоге все равно получится шаблонизатор. Нет разницы. Все равно шаблон компилируется один раз и дальше работает точно так же, как и написанный руками код. Но шаблоны писать проще, поддерживать проще и вообще в целом приятнее.
В результате все решают замеры производительности. Когда я смотрел на Twig — разница между скоростью обработки шаблонов на php и шаблонов на Twig была незначительной. А разница в удобстве — разительна.
Предпросмотр, правда, не работает при редактировании топика почему-то. Но все равно попробую. Спасибо.
Извините за оффтопик.
Есть в вашем комментарии некоторое противоречие между «привык читать больше» и «дорогово».
Да и не очень хочу.
Только что попробовал — 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 чего-то нервный тик. :(
В итоге то что изменилось? Ну еще прилепим модификаторы потом, потом добавим песочницу, потом еще немного и в итоге все равно получится шаблонизатор. Нет разницы. Все равно шаблон компилируется один раз и дальше работает точно так же, как и написанный руками код. Но шаблоны писать проще, поддерживать проще и вообще в целом приятнее.
По правде говоря я точно не помню. Blitz тоже рассматривался, но Twig почему-то победил. Может быть он оказался удобнее?