三、方法
lassign:为模板分配变量
lassignByRef:为模板分配变量(按引用传递)
lappend:追加模板变量到一个数组中
lappendByRef:追加模板变量到一个数组中(按引用传递)
lclearAllAssign
清除所有已赋值变量
lclearCache
清除缓存
lconfigLoad加载配置文件
在smarty中,加载配置文件两种方法:
1)在模板中{config_load file=’….’}
2)在程序中$smarty->configLoad($file[,$section])
lclearConfig
清除所有配置文件变量
ldisplay
读取、替换、输出
lfetch
读取、替换、返回
ltemplateExists:判断模板是否存在
尝试加载一个不存在的模板会报错,在显示之前应该判断
assign和assignByRef的区别:
Display和fetch的区别:
四、过滤器
过滤器就是用于过滤数据
1、过滤器的种类:
1)预过滤器PRefilters
2)后过滤器Postfilters
3)输出过滤器Output Filters
根据触发时间的不同,划分出以上三种过滤器
2、工作流程
tpl源文件=〉Prefilter =〉编译tpl文件=> Postfilter =>保存到磁盘=>编译过的php文件执行=〉Output Filters(=〉如果有smarty cache的话,Output Filters的内容会缓存)=>结果输出。
3、注册过滤器
在Smarty中,过滤器在使用之前必须注册
在2.6中,注册过滤器
lPrefilters
$smarty->register_prefilter(“func”);
lPostfilters
$smarty->register_postfilter(“func”);
lOutput Filters
$smarty->register_outputfilter(“func”);
注册不同的过滤器调用不同的方法。
3.0中,注册过滤器
$smarty->registerFilter($type, $callback);
$type:过滤器类型
取值范围:
Pre:预过滤器
Post:后过滤器
Output:输出过滤器
$callback:过滤器函数
4、代码:
预过滤和后过滤器第一次编译时会执行,或者模板发生改变后会再次执行
输出过滤器每次都会执行