Smarty 图标

您可以按照商标声明来使用 Smarty LOGO。

Smarty Template Engine Smarty Template Engine

如需赞助、广告、新闻或其他垂询,请通过以下方式联系我们

使用 Smarty 的网站

广告

第 18 章。通过插件扩展 Smarty

版本 2.0 引入了插件架构,用于实现 Smarty 几乎所有可自定义的功能。其中包括

  • 函数
  • 修饰符
  • 块函数
  • 编译器函数
  • 前置过滤器
  • 后置过滤器
  • 输出过滤器
  • 资源
  • 插入内容

除资源外,保留了通过 register_* API 注册处理程序函数的旧方法后向兼容性。如果您未使用该 API,而是直接修改了类变量 $custom_funcs$custom_mods 和其他变量,则需要调整您的脚本,以使用该 API 或将您的自定义功能转换为插件。

插件如何工作

插件始终按需加载。只加载在模板脚本中调用的特定修饰符、函数、资源等。而且,每个插件只加载一次,即使您在同一请求中运行了多个不同的 Smarty 实例。

前置/后置过滤器和输出过滤器有些特殊。由于它们未在模板中提及,因此必须通过 API 函数在处理模板之前显式注册或加载。相同类型的多个过滤器执行的顺序取决于其注册或加载的顺序。

可以将插件目录设为一个字符串,包含路径,或一个数组,包含多个路径。要安装插件,只需将其放置在其中一个目录中,然后 Smarty 会自动使用它。