+1 за php в качестве шаблонизатора. Самый главный недостаток Смарти (и вообще любого стороннего шаблонизатора) — он добавлят лишнюю сущность в проект. Веб-разработчикам и так надо знать кучу языков (навскидку — html, css, js+фреймворк, sql, серверный язык + фреймворк). Помнить при этом еще и синтаксис шаблонизатора излишне. К тому же, сам php и правда весьма удобен для использования в шаблонах, главное использовать синтаксис вида if(...): endif; вместо if(...) {} (может показаться очевидным, но, например, один знакомый программист любит городить фигурные скобки в шаблонах. Выглдядит кошмарно.)