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