smarty 原理图
smarty目录路径一般不需要改动
1) template_dir: 模板目录templates,smarty在读取模板时,会自动到这个属性下的路径去找相应模板。
2) compile_dir: 编译目录templates_c , smarty会自动在编译目录下生成编译文件。
编译后的文件就是我们所有说的 php与html混编。
3)config_dir: 配置文件目录configs,smarty在读取配置文件时会自动到这个文件夹下去找。
smarty缓存:是把一些由php动态读取的数据,直接保存起来。有1.全局缓存,2.局部缓存。
4)cache_dir: 缓存文件目录cache,smarty在会动在缓存文件目录下生成缓存文件,前提:开启缓存。
简单的代码案例
4,'ha'=>5);
$smart = new Smarty();
$smart->assign('tp_name',$name);
$smart->assign('tp_arr',$age);
$smart->assign('tp_obj',$obj);
$smart->assign('php_arr',$arr);
$smart->caching = true;
$smart->display('demo01.html');
?>
变量:变量是由后台php分配的调节器:用于处理一些模板变量字符串,例如,首字母大小,去空格,连接字符串。函数:内建函数: foreach forechelse, config_load 自定义函数:个人认为只有在开发需要时,查查手册就行了,模板设计没什么难度的。
后台的模板程序篇:smarty对象下
常量(只有SMARTY_DIR),变量(属性):$left_delimiter $right_delimtier $caching $cache_lifetime。。。
方法: assign display。。。过滤器方法 register_outputfilter ,register_prefilter,register_resource
缓存:提醒程序要用is_cached()来避免php程序重复查询数据。
注意:$cache_lifetime=-1时永久缓存,$cache_lifetime=0时总是重新生成
单页面多缓存:$smary->display('demo.html',$id) 根据$id具体值生成不同缓存文件
缓存集合:$smary->display('demo.html',$id1.'|'.$id2)
smarty明白它的原理可以了。
前台不难,
后台1.分配变量给前台 2.重点 缓存,3过滤器,插件扩展。。,
samrty大致这样了。