Smarty是什么?
为什么要使用它?
用例与工作流程
语法对比
模板继承
最佳实践
速成教程
2.0 版本引入了插件架构,该架构用于几乎所有 Smarty 的可自定义功能。其中包括
除了资源外,还保留了通过 register_* API 注册处理程序函数的旧方式向后兼容性。如果您没有使用 API,而是直接修改了类变量 $custom_funcs
、$custom_mods
和其他变量,则需要调整脚本以使用 API 或将您的自定义功能转换为插件。
插件始终按需加载。只有在模板脚本中调用的特定修饰符、函数、资源等才会加载。此外,每个插件只会加载一次,即使您在同一请求中运行多个不同的 Smarty 实例也是如此。
预/后置过滤器和输出过滤器有点特殊。由于它们未在模板中提及,因此必须在处理模板之前通过 API 函数注册或显式加载它们。执行相同类型的多个过滤器的顺序取决于注册或加载它们的顺序。
插件目录可以是包含路径的字符串或包含多个路径的数组。要安装插件,只需将其放在其中一个目录中,Smarty 就会自动使用它。