Ich benutze ebenfalls eval() für meine Templates aus Performancegründen. Allerdings wird der komplettte Code von meiner Template-Engine generiert und es kann nirgendwo direkt PHP Code eingeschleust werden (Es sei denn, jemand verändert die gecachten Templatedateien, dann liegt allerdings beim System grundsätzlich was falsch )

Die möglicherweise sicherere Alternative ist in der Tat, alles über Objekte und Methoden zu regeln, dann kann auch nirgendwo PHP-Code eingeschleust werden - aber soweit ich weiß, ist ist OOP in PHP recht langsam...

Ein Beispiel für eine Sicherheitslücke in deinen Templates, wäre sowas:
Code:
\"; phpinfo(); //
Allerdings ist das ungetestet und inwiefern man etwas schlimmes damit anstellen kann ist unklar