С шаблонизатора Quicky переходим на Smarty

После длительного использования шаблонизатора  Quicky пришлось принять решение об уходе с него. На одном проекте проявился старый баг шаблонизатора. Apache error.log Parent: child process exited with status 3221225477. Баг по уверениям разработчика, не шаблонизатора, а PCRE. Но поскольку он проявляется на разных версиях PCRE от этого не легче. Не везде есть возможность поменять версию PCRE по "прихоти" разработчика.

Первой мыслью пришло в голову заменить Quicky на Twig, он мне симпатичен и проект в отличие от Квики активно развивается. Но посмотрев, сколько придется переписывать в шаблонах, ужаснулся. И тут я вспомнил про Smarty. Автор делал Quicky по его подобию. Опять же мне и ранее приходилось использовать Смарти.

Переход произошел в целом безболезненно и быстро, за исключением нескольких подводных камней. 

Как оказалось Smarty не поддерживает вставку {php} начиная с версии 3.1. Лечится через использование SmartyBC. Мне хватило дефолтного варианта из документации. Хотя по хорошему конечно надо вынести логику из шаблона.

Остался и неприятный осадочек от Smarty. Он был одной из причин перехода на Quicky  в свое время. Включив отладчик заметил что шаблоны компилируются медленнее. И резко выросло потребление памяти. Вместо копеечных 0.5-1Mb на сравнительно несложных шаблонах у Quicky, против 1.5-2.7Mb у Smarty . Осталась мысль на будущее сравнить с Twig в плане оптимизации.

You may also like...