Vi o surgimento do smarty 3 alpha esses dias, então aproveitei para fazer uma visita e pesquisa. O texto a seguir vem basicamente do seu leia-me:
Estrutura básica do arquivo
index.php
/libs/
Smarty.class.php #Arquivo principal
/libs/sysplugins/ #Plugin interno
interno.*
/plugins/ #Plugin externo, pode ser expandido livremente
função.mailto.php
modificador.escape.php
/templates/ #Template, pode ser php puro ou modelo smarty tradicional
índice.tpl
Index_view.php é um trecho de código de chamada inteligente clássico:
require('Smarty.class.php');
$smarty=novoSmarty;
$smarty->assign('foo','bar');
$smarty->display('index.tpl');
Parece não haver diferença em relação à versão anterior
SINGLETON
Isso faz sentido?
Trecho de código:
$smarty= Smarty::instance();
O modelo smarty antes do modelo é equivalente a redefinir um conjunto de linguagens de tags, então o smarty3 fornece um novo formulário de modelo que oferece suporte direto aos modelos de sintaxe PHP.
Mas surge a pergunta: ainda precisamos usar modelos?
Um exemplo de citação de modelos do tipo PHP:
trecho de código:
$smarty->display('php:meutemplate.tpl');
A sintaxe familiar pode ser usada diretamente no modelo: <?=$foo?> <?=$bar?>
Se você usa modelos PHP, os problemas de segurança precisam ser resolvidos por você mesmo. Mas isso não é um problema para equipes maduras.
Além disso, o novo suporte para modelos de tipo string parece mais vigoroso, e o caminho para se afastar dos modelos também está cada vez mais distante:
Trecho de código:
$smarty->display('string:Este é o meu modelo, {$foo}!');
Links relacionados de smarty3
Smarty 3 Alpha com SVN - É bastante econômico escolher o serviço svn fornecido pelo googlecode
grupo de discussão para desenvolvedores do smarty 3