第十六章 用插件扩展Smarty

目录
插件的工作原理
命名约定
书写插件
模板函数
修饰符
块函数
编译器函数
前过滤器/后过滤器
输出过滤器
资源
插入

    版本2.0引入了插件结构,用于几乎所有Smarty中可定制的功能。其中包括:

    除了资源外,还是保留了通过register_* API注册处理器函数的老方法的向后兼容性。如果你不使用API而直接修改类变量$custom_funcs$custom_mods,以及别的变量,你需要修改你的脚本,要么使用API,要么将你的定制函数功能转换到插件。

插件的工作原理

    插件总是按需调入。只有模板中调用的特定修饰符、函数、资源才会被调入。而且,每个插件只被调入一次,即使在你的同一个请求中有多个Smarty实例运行。

    前/后过滤器和输出过滤器有点特别。由于它们并未在模板中提到,它们必须被注册或通过API函数显式调用,才能继续处理模板。同一类型的多个顾虑其的执行次序取决于它们注册或调入的次序。

    插件目录可以是包含目录的字符串或者包含多个路径的数组。要安装一个插件,只要将其放置在其中的一个目录中,Smarty将自动使用之。