hjw0571 发表于 2013-2-7 10:32:45

如何在PHP虚拟主机上使用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:然后在test下,建立文件模板配置文件: config.php

<?php
    include "libs/Smarty.class.php";
$NowPathArray=explode("test",str_replace("\\","/",dirname(__FILE__))) ;
    @define("root_path", $NowPathArray);
    @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.bt170.cn BT下载, 就是用smarty实现的。
页: [1]
查看完整版本: 如何在PHP虚拟主机上使用Smarty技术