当前位置: 首页 > 图文教程 > 网络编程 > PHP > Discuz 模板引擎的封装类代码

PHP
实现“上一页”和“下一页按钮
实现分十页分向前十页向后十页的处理
基于文本的搜索
基于文本的访客签到簿
php数据库连接
无数据库的详细域名查询程序PHP版(2)
无数据库的详细域名查询程序PHP版(1)
谈谈PHP语法(2)
PHP编程与应用
用户的详细注册和判断
以文本方式上传二进制文件的PHP程序
PHP的类--功能齐全的发送邮件类
一个php作的文本留言本的例子(一)
一个php作的文本留言本的例子(五)
一个php作的文本留言本的例子(四)
一个php作的文本留言本的例子(三)
一个php作的文本留言本的例子(二)
一个php作的文本留言本的例子(六)
PHP4引用文件语句的对比
写一个用户在线显示的程序

PHP 中的 Discuz 模板引擎的封装类代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 258 ::
收藏到网摘: n/a

需要使用Discuz的模板引擎,于是周未抽了点时间帮忙做了个封装,测试了一下,速度还不错。顺便也拿来用到自己的程序中使用,欢迎大家下载并提出意见
主要功能说明
去掉了 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'));
?>