/////////////////////////////////////////////////////////////////////////////////////////////////////// // NEATTemplate engine 青翼模板引擎 // A effective and lightly Template engine of PHP powered by NEATSTUDIO // http://nt.neatcn.com http://www.neatstudio.com http://bbs.chinahtml.com/f25 /////////////////////////////////////////////////////////////////////////////////////////////////////// = 程序简介 = 青翼模版引擎是由NEATSTUDIO在目前流行的模版引擎基础之上重新编写的一个编译型的免费开源的PHP模版引擎. 青翼模板引擎的名字是轻易的谐音,意思是轻巧,易用.英文名字全称为NEATTemplate Engine. ( 以下简称青翼 ) = 特别感谢 = 感谢站长咨询站 ( www.chinahtml.com ) 对青翼模板引擎的支持. 官方支持论坛:http://bbs.chinahtml.com/f25 = 程序版本 = 本版本为第一个公开发布的版本. 版本号:1.0.0 = 程序特点 = 执行速度快 使用了编译技术 支持无限循环嵌套 支持模版中包含文件 模版引擎文件体积小巧 编译后的文件体积小巧 全面的中文文档和用例 支持动静态编译语言包 支持对输出后内容进行缓存 95%兼容phplib模版引擎标签写法 支持 IF ELSEIF ELSE 的逻辑判断 模版变量命名上采用域的形式,层次清晰 支持在任意层次的循环中,访问本层循环以上的任意层数据 总结上面的特点就是:速度快,小巧,简单 = 运行环境 = 服务器支持PHP ( 4.0.6版本以下未测试过 ) = 文件组成 = 青翼模板引擎分为解释器和编译器两部分组成,分别对应文件 NEATTemplate.class.php 和 NEATTemplateCompiler.class.php 当发现没有编译过的cache文件或在自动编译下模板文件改动过的时候,才会由NEATTemplate类去自动调用NEATTemplateCompiler类进行编译处理. 但是这些对代码编写者和用户都是隐藏的,不可见的操作. 本压缩包内还包含了一个LITE-NEATTemplate.class.php,除了去除注释之外,还保留了大部分的基本功能. 保留方法:NEATTemplate(), ST(), SV(), OP(), RS(),SA(). 大家可以根据具体情况来选择使用. = 相关演示 = 具体请参见demo目录下的文件. 由于发布时间紧迫,所以相关文档和demo还没得到完善,但是我们会坚持不懈的去完善他们. 如果您愿意为青翼模板引擎贡献一份力量,请发Email至walker(at)neatstudio[dot]com.感谢您的支持和帮助. = 方法说明 = NEATTemplate( $templateFile ) 构造函数,其中 $templateFile 为可选参数, 方便在创建模板引擎实例时候快速指定目标模板文件. SetTemplate( $templateFile ) 别名:ST( $templateFile ) 设置模板文件,$templateFile 为模板文件位置,用于指定模板引擎要输出的模板文件. SetValue( $key, $value | $array ) 别名:SV( $key, $value | $array ) 设置模板变量,这里有两种参数传递方式.一种是以 ( 模板标签, 标签内容 ) 的方式进行调用. 另外一种是传递好符合模板引擎解析的数组数据 ( 符合规则的数组 ). Result() 别名:RS() 获取模板解析结果,用于获取解析到的结果, 返回解析后的内容. OutPut() 别名:OP() 输出模板,用于把模板解析结果直接输出到浏览器 Save( $saveToFile ) 别名:SA( $saveToFile ) 保存解析结果到文件,把执行后的模板结果输出到指定文件,其中$saveToFile 是要将结果保存到的文件. SetCachePath( $cachePath ) 设置编译后的模板文件存放路径, $cachePath 为有效的可写的文件夹路径. SetAutoCompile( $auto ) 设置模板是否进行自动编译,$auto 值为True或False.True为开启自动编译,False为关闭自动编译. 在自动编译开启后,模板引擎会根据模板最后修改时间和编译后的文件生成时间进行对比判断是否需要重新编译. SetConfig( $config ) 装载模板外部配置参数, $config为一维数组,键对应于类中的参数变量名称,值对应于类中的参数变量的值. SetLanguagePackage( $package ) 设置语言包文件,$package 语言包文件名或语言包文件名的一维数组 SetStaticLanguageString( $static ) 设置是否把语言包编译进模板中, $static 值为True或False.True为将语言静态编译进模板中,False为动态编译进模板中. GetLoadTemplateTimes() 获取模板文件装载次数, 返回模板文件被装载的总次数. SetAliveTimes( $times ) 设置模板结果缓存时间,$times 缓存时间 单位:秒 在设定好的模板结果缓存时间之内,会生成一个缓存文件,用于直接输出结果. 如果$times 为0,则不缓存. ClearCache() 清空指定模板缓存目录中的缓存文件,成功清空模板缓存目录中的编译和缓存文件,返回True,反之返回False. IsAlive( $exit = false ) 判断当前页面是否有可用缓存,$exit 默认值为False,其意思是,在输出缓存的显示结果后,是否马上终止程序的运行.True为马上终止,False为继续执行. = 标签说明 = 基本标签 {变量名} 对应于程序中使用SetValue() 设置的名称. 如果是在循环中使用,请根据循环层次将循环域名称依次加在变量名前. 语言标签 $变量名$ 对应于语言包文件中对应的变量或者数组元素. 循环( 不带BIT ) <!-- BEGIN 循环域名称 -->循环部分<!-- END 循环域名称 --> 循环( 带BIT ) <!-- BEGINB 循环域名称 -->循环部分<!-- ENDB 循环域名称 --> 逻辑判断 <!-- IF 表达式 [ == != >= <=] 值 [表达式2, 表达式3 ... ] ->代码片段[ <!-- ELSE -->代码片段 ]<!-- ENDIF --> ( <!-- ELSEIF --> 同 <!-- IF --> ) 包含文件 <!-- INC[LUDE] 文件名 --> 可简写INC,也可写全INCLUDE 本部分写得比较笼统,具体还请参阅 http://nt.neatcn.com/wiki/ 或 demo 中的模板文件 ( 模板文件demo\templates\default\index.html源代码中有详细注释 ). = 相关问题 = 1. 我需要为使用青翼模板引擎付费吗? 答: 青翼模板引擎是完全开源免费的,您不需要为使用付任何费用.但是请您遵守GPL协议. 2. 他和phplib以及Smarty相比,有什么优缺点? 答: phplib模板引擎为即时解析型的模板引擎,Smarty也和青翼模板引擎同为编译型模板引擎. 青翼在效率上相比phplib,Smarty来说都要高效得多.在功能上强与phplib弱于Smarty.在使用上比phplib和Smarty更容易上手. 3. 青翼模板引擎和smarttemplate是什么关系? 答: 青翼模板引擎继承了smarttemplate优秀的思想. 同时还加入了很多实用的功能. 4. 我应该如何入手学习使用青翼? 答: 请参阅本文档以及青翼的wiki ( http://nt.neatcn.com/wiki/ ).并看一看demo目录下的例子.我们日后会加强文档方面的编写. 5. 我有使用过phplib和Smarty,容易上手使用青翼吗? 答: 非常容易,因为本身青翼模板引擎在使用上门槛很低,简化了大部分操作.再加上对phplib的标签兼容度很高.对与有Smarty使用经验的开发者来说,也更加容易上手. 6. 我可以到哪里讨论和交流在使用青翼中碰到的问题和积累的一些经验? 答: 您可以到青翼的官方论坛 http://bbs.chinahtml.com/f25 和大家共同交流讨论. 在此再次感谢站长咨询站 ( www.chinahtml.com ) 对青翼模板引擎的支持. = 联系方法 = bbs : http://bbs.chinahtml.com/f25 homepage : http://nt.neatcn.com neatstudio http://www.neatstudio.com Email : walker(at)neatstudio[dot]com 任何意见或建议,在使用中碰到的问题, 好的想法和BUG汇报,都欢迎您联系我们. 但是要说明的是,在碰到问题前,请先查阅相关文档,我们同时也不能向您许诺我们能有100%的时间一一回复您的邮件. = 版权说明 = 本程序遵循GPL协议发布, 请在使用中遵循本协议. 您可以根据实际情况任意修改引擎模板引擎, 但请尊重我们的劳动, 保留我们的版权.