一.安装php
网上下载,选择合适的版本,解压到一个文件中,里面有个子文件夹“libs”,咱们要用的只是这个文件夹里的内容,这个文件夹里的Smarty.class.php是模板的核心。html
图1 原始libs目录结构缓存
二.初始化服务器
一般将初始化内容单独写到一个文件里,不妨新建文件config.php,而后其余文件需初始化时再调用config.php。ide
<?phpui
include “Smarty.class.php”;//加载Samrty模板引擎,根据实际地址加载spa
$tpl = new Smarty();//建立模板类orm
$tpl->template_dir = “templates”;//模板文件默认目录htm
$tpl->compile_dir = “templates_c”;//编译文件默认目录对象
$tpl->config_dir = “configs”;//配置文件默认目录,即存放config.php初始化文件
$tpl->cache_dir = “cache”;//缓存文件默认目录
$tpl->left_delimiter = “{”;//默认左占位符,不推荐使用,由于CSS或JS代码中可能出现“{”,
$tpl->right_delimiter = “}”;//默认右占位符,不推荐使用,由于CSS或JS代码中可能出现“}”
?>
图2 初始化后的libs目录
三.应用
建立要被访问的文件index.php
<?php
require 'config.php';//加载配置文件,根据实际地址加载
$tpl->assign('title','第一个smarty程序');//分配变量
$tpl->assign('content','hello,world!');//分配变量
$tpl->display('index.html');//调用模板文件,该文件的基目录是templates
?>
在templates目录下建立模板文件index.html
<html>
<head>
<title>{$title}</title>
</head>
<body bgcolor=red>
{$content}
</body>
</html>
完成建立工做后,访问index.php
图3 使用模板技术的index.php界面
四.注意事项
1.由于咱们访问的是php文件,而模板文件是在php文件中包含的内容,所以在模板文件中使用到的地址所对应的当前目录是php文件所在目录,而并不是模板文件所在目录。例如在模板文件中须要添加图片,其图片的路径的必须是相对调用该该模板的PHP文件的,正由于如此使用Smarty时一般不使用相对路径。
2.使用display()方法调用模板时,模板文件的基目录是templates,无需再指定,只需给出模板文件名便可。
3.为了让各个目录下的PHP程序都能加载Smarty模板引擎和使用Smarty指定的目录时的惟一办法就是经过使用绝对路径,缘由在1中已经说明,故以前的config.php文件能够改为下面这样:
<?php
define('BASE_PATH',$_SERVER['DOCUMENT_ROOT']);//定义服务器绝对路径
define('SMARTY_PATH','/myproject/libs/');//定义libs目录绝对路径,根据实际定义
require BASE_PATH.SMARTY_PATH.'smarty.class.php';//加载smarty类库
$tpl=new Smarty();//建立一个smarty对象
/******************定义各个目录路径*********************/
$tpl->template_dir=BASE_PATH.SMARTY_PATH.'templates/';
$tpl->compile_dir=BASE_PATH.SMARTY_PATH.'templates_c/';
$tpl->config_dir=BASE_PATH.SMARTY_PATH.'configs/';
$tpl->cache_dir=BASE_PATH.SMARTY_PATH.'cache/';
?>