Smarty 是什么?
为什么使用它?
用例和工作流
语法对比
模板继承
最佳实践
速成教程
插件可以由 Smarty 从文件系统自动加载,也可以通过 register_* API 函数之一在运行时进行注册。还可以使用 unregister_* API 函数对其进行注销。
对于在运行时注册的插件,插件函数的名称不必遵循命名约定。
如果插件依赖于其他插件提供的某些功能(就像 Smarty 捆绑的一些插件的情况一样),那么加载所需插件的正确方法如下
<?php function smarty_function_yourPlugin(array $params, Smarty_Internal_Template $template) { // load plugin depended upon $template->smarty->loadPlugin('smarty_shared_make_timestamp'); // plugin code } ?>
通常,当前评估的模板的 Smarty_Internal_Template 对象始终作为最后一个参数传递给插件,有两个例外
修饰符根本不会传递 Smarty_Internal_Template 对象
块会将 $repeat
在 Smarty_Internal_Template 对象之后传递,以保持向后兼容以较旧版本的 Smarty。