Warning: Error while sending QUERY packet. PID=4751 in /home/wwwroot/coco/domain/cnlamp/web/wp-includes/wp-db.php on line 1877 thinkphp使用xingTemplate模板引擎扩展 | LAMP新闻|技巧|经验|资讯站
现在的位置: 首页PHP>正文
thinkphp使用xingTemplate模板引擎扩展
发表于6年前 PHP 暂无评论

关于xingTemplate

xingTemplate 是一个基于PHP的模板引擎,主要对于PHP程序的方面快速开发而设计。它可以通过简易快捷的模板语法编译为PHP文件,代入数据进行输出。有效地提高项目的开发速度及管理。 xingTemplate 模板引擎不但小巧而且强大,您可以任意扩展你想要的东西。它超快的速度,绝对是项目之首选。

xingTemplate 特点

• 支持PHP原生态语法
• 支持无限子模板套用
• 支持多模板目录
• 自动读取模板所需资源,并且及时释放资源,严格的资源利用管理机制
• 可自定义模板语法标签
• 支持更改提示语言种类
• 完善的错误提示机制
• 高效快速的编译速度
• 简易的模板语法的使用方法
• 可控制是否直接插入PHP代码
• 支持模板二级缓存
• 支持模板文件大小限制
• 支持Gzip数据压缩传输
• 支持模板数据调试模式
• 支持模板多语言功能
• 附带模板引擎运行时间统计功能

1、下载XingTemplate(最新版本2.0)  http://www.xingtemplate.com/down/xingTemplate_v2.0.zip

2、在thinkphp的Vendor目录下,新建Xing文件夹

3、将下载的文件解压后,将xingTemplate文件夹下的文件core.xingTemplate_class.php,core.xingTemplate_debug.php复制到第二步新建的Xing文件夹下,并重命名为Xing.class.php,Xing.debug.php,这里需要修改一下xingTemplate的源码,打开Xing.class.php,找到31行:

将:
$this->arrayConfig['classDir'] = dirname(str_replace('\\','/',__FILE__));
替换为:
$this->arrayConfig['classDir'] = '';
因为xingTemplate获取模版,缓存等目录是相对于xingTemplate源码所存放的位置,现在需要改成相对于项目的位置。

4、在thinkphp的目录Lib\Think\Util\Template下新建文件TemplateXing.class.php,复制以下代码:

(或直接下载此文件http://115.com/file/e6roz9mn#TemplateXing.class.php

[code]
class TemplateXing
{
/**
+———————————————————-
* 渲染模板输出
+———————————————————-
* @access public
+———————————————————-
* @param string $templateFile 模板文件名
* @param array $var 模板变量
* @param string $charset 模板输出字符集
+———————————————————-
* @return void
+———————————————————-
*/
public function fetch($templateFile,$var,$charset) {
$templateFile=substr($templateFile,strlen(TMPL_PATH));
vendor(‘Xing.Xing#class’);
vendor(‘Xing.Xing#debug’);

if(C(‘TMPL_ENGINE_CONFIG’)) {
$config = C(‘TMPL_ENGINE_CONFIG’);
}
else{
$config=array(
/* 模板语法前后标示符 */
‘left_tag’ => ‘{‘,
‘right_tag’ => ‘}’,
/* 模板路径,以default为默认模板 (详细使用方法,请查看官方手册) */
‘templateDir’ => array(‘default’ => TMPL_PATH),
/* 默认使用模板,此与模板路径键对应 */
‘template_Name’ => ‘default’,
/* 模板文件后缀名 */
‘templateExt’ => ‘.html’,
/* 是否持续编译模板 (用于调试时用) */
‘force_compile’ => false,
/* 是否开启直接插入PHP代码 */
‘PHP_off’ => false,
/* 定义模板编译目录,结尾不要加斜杠 ‘/’ */
‘templateCompileDir’ => CACHE_PATH,
/* 模板编译文件的后缀名 */
‘templateCompileExt’ => ‘.phpc’,
/* 是否使用输出缓存 */
‘cache_is’ => false,
/* 输出缓存标示符 默认为 当前URL 的MD5值 */
/*
* 此功能,在您在调用输出缓存时,需要指定的,以防止模板缓存重复,以影响您的程序输出
* 可在使用时,自行定义
*
*/
‘cacheId’ => md5($_SERVER[‘REQUEST_URI’]),
/* 输出缓存时间 单位秒 */
‘cache_time’ => 5,
/* 输出缓存目录,结尾不要加斜杠 ‘/’ */
‘templateCacheDir’ => TEMP_PATH,
/* 输出缓存文件后缀名 */
‘templateCacheExt’ => ‘.phpo’,
/* 扩展功能(Function)插件存放路径,结尾不要加斜杠 ‘/’ */
‘templatePluginsDir’ =>’plugins’,
/* 由本程序所创建的目录权限 代码 */
‘dir_mode’ => 0777,
/* 被编译模板文件的大小限制 单位 M */
‘file_max’ => 1,
/* 开启Gzip传输,提高传输速度 (此功能只在使用display是适用) */
‘gzip_off’ => false,
/* 兼容选项,如果模板引擎输出空白,请开启此项 */
‘compatible’ => false,
/* 此为调试时开启,可自动弹出一个窗口,窗口里为 xingTemplate 模板引擎的所有配置文件,包括注入的资源 (方便调试) */
‘debug’ => false,
/* 是否存在已定义的 error_reporting */
‘error_reporting’ => false
/* 默认的提示语言为中文, 您可以编写简单的语言包,为此程序增加提示语言的可读性 */
);
}
$tpl = new xingTemplate($config);
$tpl->assign($var);
$tpl->display(str_replace($config[‘templateExt’],"",$templateFile));
}
}
[/code]

5、要在项目中使用xingTemplate,修改项目的配置文件:

    全局变量 BASEPATH是项目地址的绝对路径,可在入口文件中设定。

    'TMPL_ENGINE_TYPE'=>'Xing',
    'TMPL_ENGINE_CONFIG'=>array(
	/* 模板语法前后标示符 */
	'left_tag' => '{',
	'right_tag' => '}',
	/* 模板路径,以default为默认模板 (详细使用方法,请查看官方手册) */
	'templateDir' => array('default' => BASEPATH.'/Tpl'),
	/* 默认使用模板,此与模板路径键对应  */
	'template_Name' => 'default',
	/* 模板文件后缀名 */
	'templateExt' => '.html',
	/* 是否持续编译模板 (用于调试时用) */
	'force_compile' => false,
	/* 是否开启直接插入PHP代码 */
	'PHP_off' => false,
	/* 定义模板编译目录,结尾不要加斜杠 '/' */
	'templateCompileDir' => BASEPATH.'/Runtime/Temp',
	/* 模板编译文件的后缀名 */
	'templateCompileExt' => '.phpc',
	/* 是否使用输出缓存 */
	'cache_is' => false,
	/* 输出缓存标示符 默认为 当前URL 的MD5值 */
	/*
	 * 此功能,在您在调用输出缓存时,需要指定的,以防止模板缓存重复,以影响您的程序输出
	 * 可在使用时,自行定义
	 *
	 */
	'cacheId' => md5($_SERVER['REQUEST_URI']),
	/* 输出缓存时间 单位秒 */
	'cache_time' => 5,
	/* 输出缓存目录,结尾不要加斜杠 '/' */
	'templateCacheDir' => BASEPATH.'/Runtime/Cache',
	/* 输出缓存文件后缀名 */
	'templateCacheExt' => '.phpo',
	/* 扩展功能(Function)插件存放路径,结尾不要加斜杠 '/' */
	'templatePluginsDir' => BASEPATH.'/Runtime/plugins',
	/* 由本程序所创建的目录权限 代码 */
	'dir_mode' => 0777,
	/* 被编译模板文件的大小限制 单位 M */
	'file_max' => 1,
	/* 开启Gzip传输,提高传输速度 (此功能只在使用display是适用) */
	'gzip_off' => false,
	/* 兼容选项,如果模板引擎输出空白,请开启此项 */
	'compatible' => false,
	/* 此为调试时开启,可自动弹出一个窗口,窗口里为 xingTemplate 模板引擎的所有配置文件,包括注入的资源 (方便调试) */
	'debug' => false,
	/* 是否存在已定义的 error_reporting */
	'error_reporting' => false
	/* 默认的提示语言为中文, 您可以编写简单的语言包,为此程序增加提示语言的可读性 */
   ),

给我留言

留言无头像?


×
腾讯微博