Den opstilling jeg har foreslået er den opstilling hvor du laver det mindste "mix", altså den største adskillelse du over hovedet kan opnå i en og samme fil.
Ja, det ligner Smarty, eller det ligner templates og det er det også. Det er det mest logiske du kan gøre.
Der er en pointe ved at anvende templates, den går ud på at strukture hele din kode, så andre også kan læse den eller så du kan vende tilbage om 3 mdr. og stadig forstå hvad der sker. Det omfatter også at du senere kan ændre dit HTML, altså strukturen af din side uden at du skal bekymre dig om den data du får fra f.eks. en database. Eller du kan ændre din data uden du skal tænke på strukturen. Altså får du adskilt logikken fra det der kaldes viewet.
Der er ingen der siger at du skal bruge templates, men du skal i det mindste adskille PHP logikken fra HTML generationen. Så laver du heller ikke dumpefejl som at udskrive $_POST-værdierne i et title-tag.
Slut men ikke mindst, hvis du vil have PHP til at generere alt din HTML skal du sørme ikke springe ud og ind af php parseren så mange gange. Så skal der kun være et sæt "<?php ?>"