smarty将php代码和HTML代码分开,形成两个页面,通过在php页面引用smarty配置文件,利用php控制HTML页面显示
1,libs文件夹,放入需要使用的文件夹下面
2,配置文件:init.inc.php,放入需要使用的文件夹
(init.inc.php 和 libs文件夹,在同级目录下面)
init.inc.php
1 <?php 2 3 define("ROOT",str_replace("\","/",dirname(__FILE__)).'/'); //常量ROOT中指定项目根目录 4 5 //echo str_replace("\","/",dirname(__FILE__))."/"; 6 7 require ROOT.'libs/Smarty.class.php'; //加载Smarty类文件 8 9 $smarty = new Smarty(); //实例化Smarty对象<br> 10 11 12 //$smarty -> auto_literal = false; //就可以让定界符号使用空格 13 $smarty->setTemplateDir(ROOT.'templates/'); //设置所有模板文件存放位置 14 //$smarty->addTemplateDir(ROOT.'templates2/'); //添加一个模板文件夹 15 $smarty->setCompileDir(ROOT.'templates_c/'); //设置编译过的模板存放的目录 16 $smarty->addPluginsDir(ROOT.'plugins/'); //设置为模板扩充插件存放目录 17 $smarty->setCacheDir(ROOT.'cache/'); //设置缓存文件存放目录 18 $smarty->setConfigDir(ROOT.'configs/'); //设置模板配置文件存放目录 19 20 $smarty->caching = false; //设置Smarty缓存开关功能 21 $smarty->cache_lifetime = 60*60*24; //设置缓存模板有效时间一天 22 $smarty->left_delimiter = '<{'; //设置模板语言中的左结束符 23 $smarty->right_delimiter = '}>'; //设置模板语言中的右结束符 24 25 26 ?>
例子:
main.php:
1 <?php 2 include("../init.inc.php"); 3 $name = "张三";//字符串 4 $attr = array("shi"=>"淄博", "ming"=>"李密" );//关联数组 5 6 $smarty->assign("name",$name);//添加 7 $smarty->assign("xx",$attr); 8 9 $smarty->display("main.html");//显示
main.html
<html> <head> <meta charset="utf-8" /> //字符转义,转为utf-8格式 </head> <body> <h1>主页面</h1> <div style="color:red">登陆者是:<{$name}></div> <div>详细信息:<{$xx['shi']}> <{$xx['ming']}></div> </body> </html>