1) De html en visuele stijl is gescheiden van de PHPcode. Ideaal voor ontwikkelaars die niks in de PHP-code te zoeken hebben.
2) Valt wel mee, je zou zo wel makkelijk kunnen cachen als je extra snelheidswinst wilt hebben
4) De beste keuze is om gewoon twee lagen te gebruiken, en de templates in losse .php pagina's te doen. Ikzelf werk overigens (nog) met Smarty. Als ik het opnieuw zou doen zou ik puur voor PHP kiezen.
1)
- Je wordt beperkt. Hierdoor wordt je direct verplicht tot het uitvoeren van logische code in een controller en alleen de simpele if'jes en for loopjes in de template te plaatsen. Tevens is het handig als je een onervaren front-end hebt, die kan dan niet zorgen dat de hele applicatie crashed door vreemde dingen te gaan doen in PHP.
- Het is vaak overzichtelijker en simpeler, hierdoor is het makkelijker om te leren voor een front-end developer.
2) Als het goed is hetzelfde. Een beetje template engine cached zijn files. Alleen tijdens het allereerste bezoek van de allereerste bezoeker worden de templates omgezet naar een PHP leesbare template. vervolgens wordt die telkens aangesproken.
3) -
4) De beste keuze onder template engines? Dan zou ik voor twig gaan. Ook smarty wordt wel vaak gebruikt, maar Twig wat vaker omdat die over het algemeen als iets beter wordt beschouwd.