·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> php—Smarty-7(24)

php—Smarty-7(24)

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
php—Smarty-7(24)

三、方法

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、代码:

预过滤和后过滤器第一次编译时会执行,或者模板发生改变后会再次执行

输出过滤器每次都会执行