What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Table of Contents
A Versão 2.0 introduziu a arquitetura de plugin que é usada para quase todas as funcionalidades customizáveis da Smarty. Isto inclui:
Com a exceção de recursos, a compatibilidade com a forma antiga de funções de
manipulador de registro via register_* API é preservada. Se você não usou o API mas no lugar disso
modificou as variáveis de classe $custom_funcs
, $custom_mods
, e
outras diretamente, então você vai
precisar ajustar seus scripts para ou usar API ou converter suas
funcionalidade customizadas em plugins.
Plugins são sempre lidos quando requisitados. Apenas os modificadores específicos, funções, recursos, etc convocados em scripts de template serão lidos. Além disso, cada plugin é lido apenas uma vez, mesmo se você tem várias instâncias diferentes da Smarty rodando na mesma requisição.
Pre/posfiltros e filtros de saída são uma parte de um caso especial. Visto que eles não são mencionados nos templates, eles devem ser registrados ou lidos explicitamente via funções de API antes do template ser processado. A ordem em que multiplos filtros do mesmo tipo são executados dependem da ordem em que eles são registrados ou lidos.
O diretório de plugins pode ser uma string contendo um caminho ou um array contendo multiplos caminhos. Para instalar um plugin, simplesmente coloque-o em um dos diretórios e a Smarty irá usá-lo automaticamente.