metton
совершенно верно.
при классических шаблонах так все и обстоит. все "большие" движки, типа Смарти, пхптемплейтс - включают в себя управляющие структуры, дублирующие пхп. Получается интерпретатор, написаный на интерпретаторе.
А теперь вспомним, что шаблоны изначально придумывались... для дизайнера, чтобы ему не учить пхп... и вместо нормального языка дизайнер все равно учит псевдоязык.
при этом все равно бывают вещи, которые для того, чтобы сделать средствами интерпретатора, надо поиметь большой геморрой.
есть еще вариант, не отступать ни на шаг от канонов - для строки цикла сделать отдельный файл шаблона.
зашибись, правда?
В общем, именно из-за этой убогости, которая приносит гораздо больше вреда, чем пользы и связывает руки родновременно раздувая шаблонный движок, лично я и пользуюсь такими "шаблонами для бедных", просто разделяя пхп скрипт на две части - логика и вывод.
в выводе - простейшие операторы