il template dovrebbe fornire delle "API" per stampare output, generalmente non usando php, quindi qualcosa del tipo

codice:
<ul>
<% for( $utente in $utenti) %>[*]<% print $utente->nome %>
<% loop %>[/list]
dove poi il template engine sarà in grado di riconoscere che in <% e %> c'è una istruzione for da tradurre in un foreach e che $utenti sarà una variabile impostata altrove (controller?) che conterrà un elenco di utenti e che la variabile $utente conterrà un utente con campo/chiave nome etc etc

cmq, piuttosto che farmi un template engine a mano, ne cercheri uno già fatto oppure un framework che usi tale metodologia.