环境:javascript
smarty3.1.16php
1.在http://www.smarty.net/download下载最新smarty包,window选择zips,linux下选择tar.gz。以windows为例,下载后解压,如f:\smarty。css
2.把解压出来的smarty目录里lib目录拷贝到test里,重命名为smarty。在test目录下,建立tpls目录,在tpls目录下,建立templates、templates_c、configs、cache目录,这几个目录分别是模板目录(必要),解析目录(必要),配置目录(可选),缓存目录(可选),html
smarty的php代码和这四个目录是同一个级的,html代码放在templates下。java
目录树以下linux
代码部分:windows
1.在test/smarty下建立utf-8无bom格式的main.php,配置smarty的一些成员属性。浏览器
1 <?php 2 include("Smarty.class.php"); 3 define('SMARTY_ROOT', '../tpls'); 4 $tpl = new Smarty(); 5 $tpl->template_dir = SMARTY_ROOT."/templates/";//设置模板文件的存放目录 6 $tpl->compile_dir = SMARTY_ROOT."/templates_c/";//设置编译文件的存放目录 7 $tpl->config_dir = SMARTY_ROOT."/configs/";//设置配置文件的存放目录 8 $tpl->cache_dir = SMARTY_ROOT."/cache/";//设置缓存文件的存放目录 9 $tpl->caching=1;//开启缓存 10 $tpl->cache_lifetime=60*60*24;//有效时间为一天 11 $tpl->left_delimiter = '[';//smarty语言的左右结束符 12 $tpl->right_delimiter = ']'; 13 ?>
咱们知道大括号是smarty的默认定界符,但在和javascript、css等结合时可能会产生冲突,因此这里咱们设定为[和]。缓存
2.在test/tpls/templates下面新建html.tpl模板文件,就是在html中加入smarty变量。改模板至关于表现层。ui
html.tpl的代码以下:
1 <html> 2 <head> 3 <meta http-equiv="Content-type" content="text/html; charset=utf-8"> 4 <title> 5 [$title] 6 </title> 7 </head> 8 <body> 9 [$content] 10 </body> 11 </html>
3.在test目录下建立smarty.php,该文件至关于驱动层,给上面表现层的变量赋好值,而后显示出来。
smarty.php的代码以下:
1 <?php 2 include("smarty/main.php"); 3 $tpl->assign("title","迟到"); 4 $tpl->assign("content","罚款500元!"); 5 $tpl->display("tpls/templates/html.tpl"); 6 ?>
4.在浏览器中运行smarty.php便可。