Aber das ist ja explizit unter Smarty nicht so. Selbst da läßt sich PHP Code einfügen.
Ja, aber machen soll man das nicht.
Man kann auch im Zend-Framework auch statt Zend_Db::factory mit mysql_connect arbeiten und um das Framework herumbauen - nur wozu sollte das gut sein?
Ausserdem geht diese Begründung ja davon aus, dass es jemanden gibt, der ein Template kaputt machen wolte, was seltsam wäre, da die jenigen die am Template arbeiten, ja durchaus ein interesse daran haben das dies läuft.
Natürlich aber es soll niemanden überfordern
<div id="inhalt">###inhalt###</div> schreckt einen unbedarften Benutzer/HTML-Autor weniger ab als <div id="inhalt"><?php the_content(); ?></div>
Im ersteren Fall ist ein Syntaxfehler unbedeuten, dann "geht's halt nicht" - im zweiten fall ist ein Syntaxfehler schlecht - da gibt Fehler oder es geht gar etwas (absichtlich) kaputt.