Discuz 模板引擎的封装类代码


Posted in PHP onJuly 18, 2008

主要功能说明

去掉了 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'));
?>

PHP 相关文章推荐
PHP新手上路(七)
Oct 09 PHP
PHP5中虚函数的实现方法分享
Apr 20 PHP
MyEclipse常用配置图文教程
Sep 11 PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 PHP
PHP实现加密的几种方式介绍
Feb 22 PHP
php实现TCP端口检测的方法
Apr 01 PHP
php读取der格式证书乱码解决方法
Jun 22 PHP
PHP实现无限级分类(不使用递归)
Oct 22 PHP
PHP 设计模式系列之 specification规格模式
Jan 10 PHP
功能强大的PHP发邮件类
Aug 29 PHP
PHP自动生成缩略图函数的源码示例
Mar 18 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 PHP
PHP令牌 Token改进版
Jul 18 #PHP
php下intval()和(int)转换使用与区别
Jul 18 #PHP
PHP入门学习的几个不错的实例代码
Jul 13 #PHP
php header()函数使用说明
Jul 10 #PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 #PHP
兼容PHP5的PHP目录管理函数库
Jul 10 #PHP
php 防止单引号,双引号在接受页面转义
Jul 10 #PHP
You might like
社区(php&&mysql)六
2006/10/09 PHP
php数组查找函数总结
2014/11/18 PHP
php jsonp单引号转义
2014/11/23 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
JSON JQUERY模板实现说明
2010/07/03 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
微信小程序数据存储与取值详解
2018/01/30 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
原生JS实现前端本地文件上传
2018/09/08 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
详解python中的 is 操作符
2017/12/26 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
酒店应聘自荐信
2013/11/09 职场文书
运动会通讯稿100字
2014/01/31 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python
python中字符串String及其常见操作指南(方法、函数)
2022/04/06 Python