且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

 [PHP]配置,使用Smarty技术

更新时间:2021-11-11 21:10:02

特别声明:其他网站禁止转载

相关知识:

1、[php]配置,链接access数据库
2、模板引擎Smarty深入浅出介绍  

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