Discuz 模板引擎的封装类代码

yipeiwu_com7年前PHP代码库

主要功能说明

去掉了 Discuz 语言包的功能 
移植 Discuz 模板中所有的功能 
添加了自动更新缓存及生命周期功能 
在模板中的使用方法跟Discuz的一样,所以就不做多余的说明了,使用前只需要做些简单的设置就可以了

如果需要使用discuz的语言包功能,只要去掉template.class.php第172行注释,并在template.func.php中加上discuz原来的languagevar函数就可以了

点击下载源文件

以下是代码范例:

/**
* 使用示例
*
* @copyright Copyright (c) 2007-2008 (http://www.tblog.com.cn)
* @author Akon(番茄红了)
* @license PHP Version 3.0 {@link http://www.php.net/license/3_0.txt}
*/

require_once ('classes/template.class.php');

$options = array(
    template_dir' => 'templates/', //指定模板文件存放目录
    'cache_dir' => 'templates/cache', //指定缓存文件存放目录
    'auto_update' => true, //当模板文件有改动时重新生成缓存 [关闭该项会快一些]
    'cache_lifetime' => 1, //缓存生命周期(分钟),为 0 表示永久 [设置为 0 会快一些]
);
$template = Template::getInstance(); //使用单件模式实例化模板类
$template->setOptions($options); //设置模板参数

/*
// 可以使用以下三种方法设置参数
$template->setOptions(array('template_dir' => 'templates/default/')); //用于批量设置时使用
$template->set('template_dir', 'templates/default/');
$template->template_dir = 'templates/default/');
*/

$testArr = array('testa' => 'a', 'testb' => 'b');
include($template->getfile('test.htm'));
?>

相关文章

Ajax+PHP实现的删除数据功能示例

Ajax+PHP实现的删除数据功能示例

本文实例讲述了Ajax+PHP实现的删除数据功能。分享给大家供大家参考,具体如下: 一 代码 conn.php: <?php $conn = mysql_conne...

php处理json时中文问题的解决方法

操作的代码如下: 复制代码 代码如下: <?php $usr = new User(); echo json_encode($usr); ?> 很简单的代码,无中文情况一切...

让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享

网上搜了很多方法都不奏效,研究了一天,发现通过以下的配置可以完美支持 'URL_MODEL' => 2 的情况了 复制代码 代码如下: location /project/ { i...

php实现的生成排列算法示例

本文实例讲述了php实现的生成排列算法。分享给大家供大家参考,具体如下: <?php function perm($s, $n, $index) { if($n =...

比较时间段一与时间段二是否有交集的php函数

复制代码 代码如下: /* *比较时间段一与时间段二是否有交集 */ function isMixTime($begintime1,$endtime1,$begintime2,$endt...