Smarty 图标

您可以按照商标公告使用 Smarty 徽标。

Smarty Template Engine Smarty Template Engine

有关赞助、广告、新闻或其他查询,请通过以下方式与我们联系

使用 Smarty 的网站

广告

第 18 章。使用插件扩展 Smarty

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

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

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

插件的工作原理

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

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

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