smarty是用PHP编写的一个类,使用这个类可以将代码与模板分开,改变模板时处理代码不用修改,方便快捷。
举例如下:
首先是smarty的配置
<?php
include_once("Smarty/Smarty.class.php"); //包含smarty类文件
$smarty = new Smarty(); //建立smarty实例对象$smarty
$smarty->config_dir="Smarty/Config_File.class.php"; // 目录变量
$smarty->caching=false; //是否使用缓存,项目在调试期间,不建议启用缓存
$smarty->template_dir = "./templates"; //设置模板目录
$smarty->compile_dir = "./templates_c"; //设置编译目录
$smarty->cache_dir = "./smarty_cache"; //缓存文件夹
//----------------------------------------------------
//左右边界符,默认为{},但实际应用当中容易与JavaScript相冲突
//----------------------------------------------------
$smarty->left_delimiter = "{";
$smarty->right_delimiter = "}";
?>
然后是使用,首先建一个PHP文件,处理页面
<?php
include("smarty_inc.php");
$name[]=array("name"=>"新闻第一条","data"=>"2012-2-13");
$name[]=array("name"=>"新闻第二条","data"=>"2012-2-14");
$name[]=array("name"=>"新闻第三条","data"=>"2012-2-15");
$name[]=array("name"=>"新闻第四条","data"=>"2012-2-16");
$name[]=array("name"=>"新闻第五条","data"=>"2012-2-17");
$smarty->assign("title",$name);
$smarty->display("index.htm");
?>
然后建一个htm文件,当模板使用
<html>
{section name=list loop=$title}
<b><font color=red>
{$title[list].name}-{$title[list].data}<br></font></b>
{/section}
</html>
这样就巧妙的实现了模板与处理代码的分离
两个重要函数 assign() display()