Capítulo 16. Extendiendo Smarty con plugins
La version 2.0 introduce la arquitectura de plugin que es usada para
casi todas las funcionalidades adaptables del Smarty. Esto incluye:
- funciones
- modificadores
- funciones de bloque
- funciones de compilación
- prefiltros
- postfiltros
- filtros de salida
- recursos(fuentes)
- inserts
Con la excepción de recursos, la compatibildad con la forma antigua
de funciones de manipulación de registro via register_* API es conservada.
Si usted no uso el API en lugar de eso modifico las variables de clase
$custom_funcs,
$custom_mods, y otras
directamente, entonces usted va a necesitar ajustar sus scripts para
cualquiera que use el API o convertir sus funciones habituales en plugins.
Como funcionan los Plugins
Los plugins son siempre cargados cuando son requeridos. solo los
calificativos especificos, funciones, recursos, etc convocados en
scripts del template seran leidos. Además, cada plugin es cargado
una sola vez, aun si usted tiene corriendo varias instancias
diferentes de Smarty dentro de la misma petición.
Pre/posfiltros y salidas de filtros son una parte de un caso especial.
Dado que ellos no son mensionados en los templates, ellos deben ser
registrados o leidos explicitamente mediante funciones de API antes de
que el template sea procesado. El orden en el cual son ejecutados
multiples filtros del mismo tipo depende del orden en el que estos son
registrados o leidos.
El directorio de directory
puede ser una cadena que contenga una ruta o un arreglo que contenga
multiples rutas. Para instalar un plugin, simplemente coloquelo en el
directorio y el Smarty lo usara automáticamente.