一.安裝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/';
?>