Smarty 是什么?
为何使用 Smarty?
使用场景和工作流程
语法比较
模板继承
最佳实践
速成课程
目录
Smarty 附带了几个内置函数。这些内置函数是 Smarty 模板引擎的组成部分。它们被编译成相应的内联 PHP 代码,以实现最佳性能。
你不能使用与这些内置函数相同的名称来创建你自己的自定义函数;并且你也不需要修改内置函数。
其中一些函数有一个assign
属性,它将该函数的结果收集到一个已命名的模板变量,而不是作为输出;这与 {assign}
函数非常相似。
这是{assign}函数的简写版本。你可以直接向模板分配值,也可以向数组元素分配值。
在模板中分配变量本质上是将应用程序逻辑置于表示层中,这可能更适合在 PHP 中处理。请酌情使用。
下列属性可以添加到标签中
属性
属性名称 | 简写 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|---|
scope | 不适用 | 字符串 | 否 | 不适用 | 已分配变量的范围:“父”、“根”或“全局” |
选项标记
名称 | 描述 |
---|---|
nocache | 分配具有“nocache”属性的变量 |
示例 7.6. 在调用模板的范围内进行分配
在包含的模板中分配的变量将在包含模板中可见。
{include file="sub_template.tpl"} ... {* display variable assigned in sub_template *} {$foo}<br> ...
上述模板包含以下示例 sub_template.tpl
... {* foo will be known also in the including template *} {$foo="something" scope=parent} {* bar is assigned only local in the including template *} {$bar="value"} ...