:复习了索引数组(<{$arr[row][col]}>),关联数组(<{$arr.key1.key2}>),对象的变量(<{$obj->att}>)smarty的一般变量。Try catch 语句 和throw()抛出异常(网页中捕获错误的方法) for in 用来遍历数组的元素或对象的属性、语法condition?Expr1:expr2 参数 condition 计算结果为true或者false的表达式。Expr1,expr2任意类型值的表达式。
自定义调节器(修改器|插件)
插件如何工作呢?插件总在需要的时候被加载。只有在模版脚本里调用的特定修饰、函数、资源插件等会被装载。此外,即便在同一个请求中有几个不同的smarty实体运行,每个插件也只被装载一次。
注意:命名规则,约定:type. name.php 。将定义好的插件文件以plugins_type.name.php命名之后放入plugins文件夹。
如何应用缓存(建立缓存)
步骤一:开启缓存($smarty->caching=true)
二:设置缓存目录($smarty->cache_dir='')
三:设置缓存文件的声明周期($smarty->cache_lifetime=100;)
四:利用display()或者是fetch()生成缓存文件。
缓存应用:单页面 多缓存
为了处理同样的显示界面,不同的显示内容。内容有url参数决定。同一个模版可以生成多个缓存文件(有多少个内容就有多少个缓存文件),多个缓存文件存放文件用display("*tpl",$_GET["id"]);在php中可以用is_cached判断模版是否被缓存,is_cached格式和display完全一样。
页面局部不缓存
利用insert内建函数可以将smarty模板当众的数据传递给php外置函数去执行,传递过去的函数明要求以insert.funName.php命名,保存在plugins文件夹。insert.funName.php文件中的函数名命名格式:smarty_insert_funName($p){...} $p的内容是通过smarty当中的insert传递过去的,$p是以关联数组:[insert的属性名]=>属性值,insert name="";