smarty是优秀的php模版引擎之一,因为使用方便与高效的速率,收到很多phper的青睐。有很多人对模版引擎的概念不是很了解,其实说白了模版引擎就是一用用来分离动态页面跟静态页面的程序,这样做即提高程序的可读性,又可以分离前台跟后台工作的分配工作。 先下在smarty的最新版,然后把其中的libs解压到自己网站的目录中,创建一个配置文件(名字按个人爱好) config.php ?
//定义服务器中的根目录的绝对地址
define("WEB_ROOT",realpath(dirname(luoe_file)."/..")); include_once(WEB_ROOT.'/libs/Smarty.class.php'); $smarty = new Smarty(); $smarty -> template_dir = WEB_ROOT."/templates"; //模板存放目录 $smarty -> compile_dir = WEB_ROOT."/templates_c"; //编译目录 $smarty -> cache_dir = WEB_ROOT."/cache"; //缓存文件指定的目录 $smarty -> caching = false; //是否使用缓存,项目在调试期间,不建议启用缓存 $smarty->cache_lifetime = 60; //缓存时间 $smarty -> left_delimiter = "{"; //左定界符 $smarty -> right_delimiter = "}"; //右定界符
//为模板路径赋值
$smarty -> assign("URL_ROOT",$URL_ROOT);
? 这样就可以了,只需要一个php页面中写入一下代码就可以了
include("config.php"); //引入smarty的配置文件 $smarty -> assign('web','http://blog.7cuu.com'); //模版变量 $smarty -> display('index.htm'); //模版文件
然后在 /templates/index.htm 页面中写入 当前的网站地址为{$web},欢迎光临! 以上就完成了smarty的基本配置了,下面我给大家介绍一下常用的内部函数 1、判断
{if $name=='ok'} {else} {/if} ? 2、
循环
{foreach from=$name item=id} {$id} {/foreach}
或
{foreach key=j item=v from=$name } {$j}:{$v} {/foreach}
3、包含(引用页面固定的头尾都会用到的啦)
{include file="header.htm"}
4、冲突处理(页面js用到大括号与smarty的大括号冲突怎么办)
{literal} {/literal}
literal数据将被当作文本处理,此时模板将忽略其内部的所有字符信息. 该特性用于显示有可能包含大括号等字符信息的 javascript 脚本 另外,strip标记处理数据的首尾空格和回车,可以避免一些浏览器兼容性问题 smarty缓存的配置:
$smarty->cache_dir = "/caches/"; //缓存目录 $smarty->caching = true; //开启缓存,为flase的时侯缓存无效 $smarty->cache_lifetime = 60; //缓存时间
清除缓存:
$smarty->display('cache.tpl', cache_id); //创建带ID的缓存 $smarty->clear_all_cache(); //清除所有缓存 $smarty->clear_cache('index.htm'); //清除index.tpl的缓存 $smarty->clear_cache('index.htm',cache_id); //清除指定id的缓存
神马是带ID的缓存,就是同一个模板页面会显示不同的内容,需要用id区别开来,生成不同的缓存文件。想ijiefang.com里面的商家首页,都是同一个模板,但每个商家的内容都不同,需要一个商家首页一个缓存文件。 局部缓存: index.htm
{insert name="get_time"} index.php function insert_get_time(){ return date("Y-m-d H:m:s"); }
或 {blockname} 没有缓存的:{$smarty.now} {/blockname} 常用变量操作符
capitalize [首字母大写]
count_characters [计算字符数]
cat [连接字符串]
count_paragraphs [计算段落数]
count_sentences [计算句数]
count_words [计算词数]
date_format [时间格式]
default [默认]
escape [转码]
indent[缩进]
lower[小写 ]
nl2br[换行符替换成
]
regex_replace[正则替换]
replace[替换]
spacify[插空]
string_format[字符串格式化]
strip[去除(多余空格)]
strip_tags[去除html标签]
truncate[截取]
upper[大写]
wordwrap[行宽约束]
转载请注明:七彩悠悠博客 | 心悠悠 情悠悠 » smarty模版引擎的配置以及使用