Smarty技术是PHP的精髓所在,随着PHP版本的逐渐提高,原来的很多方法也许太过时了,下面我就针对最新的PHP5.1.1版本的使用,配置说说如何配置。
下面是一步步的来的,请注意:
1、在官方下载模板库文件: http://smarty.php.net/download.php
下载了就解压,看见一个文件夹了,是个 smarty.x.x,打开,里面有个libs 文件夹,ok,注意这个东西就是我们要的。
2、在你的网站目录下面,比方我的php网站IIS在物理硬盘的 d:/web/web/php下面,在这个文件夹下面建立:一个文件夹 test,然后我们把刚提到的 libs文件夹复制道test 文件夹下面。{ * 请看本文最后的注释 TIPS1}
3、在test 文件夹下面再建立4个文件夹:
cache
configs
templates
templates_c
4、建立文件 text.htm:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title><{$title}></title>
</head>
<body>
<{$content}>
</body>
</html>
保存在 templates 目录下面。
5、然后建立文件模板配置文件: config.php
<?php
include "../libs/Smarty.class.php";
$NowPathArray=explode("test",str_replace("//","/",dirname(__FILE__))) ;
@define("root_path", $NowPathArray[0]);
@define('__SITE_ROOT', root_path."test");
$tpl = new Smarty();
$tpl->template_dir = __SITE_ROOT . "/templates/";
$tpl->compile_dir = __SITE_ROOT . "/templates_c/";
$tpl->config_dir = __SITE_ROOT . "/configs/";
$tpl->cache_dir = __SITE_ROOT . "/cache/";
$tpl->left_delimiter = '<{';
$tpl->right_delimiter = '}>';
?>
保存在主目录也就是 test下面。
6、在test新建文件test.php文件,输入:
<?php
require "config.php";
$tpl->assign("title", "测试成功了,这是标题");
$tpl->assign("content", "这是内容");
$tpl->display('test.htm');
?>
7、在浏览器测试test.php显示为:
这是内容
恭喜,配置成功.否则,失败,再检查是不是按照我说的来的。
Tips1 :为了能在网站全局使用Smarty技术,我们可以修改PHP.inc里面的
; Windows: "/path1;/path2"
include_path = ".;c:/php/includes"
改为:
; Windows: "/path1;/path2"
include_path = ".;c:/php/includes;d:/web/web/php/libs"
使用模板的时候,像前面一样的方式使用,不要:
include "../libs/Smarty.class.php";
直接使用就行了的。
经典论坛讨论帖:
http://www.blueidea.com/bbs/NewsDetail.asp?id=2405738