Cuantas veces este ha sido motivo de debate. ¿Merece la pena utilizar un sistema de plantillas estilo smarty para php?. ¿Acaso no es php un lenguaje de script suficientemente limpio y potente como para poder valerse por si solo como motor de plantillas?. ¿Que diferencia encontráis entre estas 2 lineas?:
[html]
[/html]
¿De verdad creéis que la primera es mas sencilla?.
Como ya habréis intuido yo nunca estuve de acuerdo en utilizar un lenguaje añadido de plantillas, básicamente porque no me aporta nada. Por supuesto que estoy de acuerdo en separar las capas de presentación y lógica pero esto lo podemos hacer tanto con php como no hacerlo con cualquier motor de plantillas. Todo depende de como lo utilicemos.
Pero yo prefiero esto:
[php]
//posts.php
$posts = getPosts();
include(“posts.html”);
[/php]
[html]
//posts.html
=$post->getTitle()?>
[/html]
y no esto:
[php]
//posts.php
require(“smarty/Smarty.class.php”);
$template = new Smarty;
$template->template_dir=”.”;
$template->assign(“posts”,getPosts);
$template->display(posts.html);
[/php]
[html]
//posts.html
{person.getTitle}
{/foreach}
[/html]
Por cierto tanto cakephp como zend framework han adoptado la primera opción de forma nativa, lo que no quiere decir que no existan plugins para poder utilizar algún lenguaje propio de plantillas.