关于smarty的配置在这里就不说了。这里就说一下其中的两个函数。
(1) assign 方法
assign 用于在模版被执行时为模版变量赋值,语法格式如下:
{assign var =”” value =”“}
参数var为被赋值的变量名,参数value是赋给变量的值。
(2)display方法
display 用来显示模版,需要制定一个合法的模版资源的类型和路径。
语法格式如下:
void display(string template[,string cache_id[,string compile_id]])
参数cache_id 为可选参数,用于指定缓存号。参数compile_id为可选参数用于指定一个编译号。编译号可以将一个模版编译成不同的版本使用。例如,可针对不同的语言编译模版。编译号的另一个作用,如果存在多个 templatedir模版目录,但是只有一个 compile_dir 编译后存档目录,这是可以为每一个 templatedir模版目录制定一个编译号,以避免相同的模版文件在编译后相互覆盖。相对于在每一次调用display()时都指定编译号,也可以通过设置 compile_id 编译号属性来一次性设定。
示例代码如下:
<?php //定义服务器的绝对路径 define('BASE_PATH', $_SERVER['DOCUMENT_ROOT']); //定义smarty的绝对路径 define('SMARTY_PATH', '/PHPTEST/smarty/'); //加载Smarty的类库文件 require BASE_PATH.SMARTY_PATH.'Smarty.class.php'; //实例化一个Smarty对象 $smarty = new Smarty(); //定义各个目录的路径 $smarty->template_dir =BASE_PATH.SMARTY_PATH.'templates/'; $smarty->compile_dir =BASE_PATH.SMARTY_PATH.'templates_c/'; $smarty->config_dir =BASE_PATH.SMARTY_PATH.'configs/'; $smarty->cache_dir =BASE_PATH.SMARTY_PATH.'cache/'; //使用Smarty 赋值方法将一对名称/方法发送到模版中 $smarty->assign('title','Jack 的第一个Smarty程序'); $smarty->assign('content','Hello welcome to study Smarty'); //显示模版 $smarty->display('index.html'); ?>
运行结果如下: