php小型模板引擎lovefc_Template介绍与使用
一个小巧,轻便,高效率的模板引擎,只有区区的十几k的大小,提供了一个模板引擎最为基础的功能,此外,还有一些对于模板语言的可扩展性,你完全可以利用它来打造自己的模板代码,更快方便的书写代码。
smarty是最为经典的模板引擎,相信很多人用过,不过,它太大了,在一些并不是很大的项目上,利用它就有点得不偿失了。
市面上也有很多其它类似的模板引擎,都是以轻巧为主的,lovefc_Template的优势在于,它的转换方式不是通过简单的正则匹配,另外它的一些语法也是非常的便利。
例如,许多模板代码中没有赋值的语法,lovefc_Template中,定义了一个赋值的语法
{($a='你好')}
这里的赋值跟php中的是一样的,不管是函数,数组,还是对象,都是可以的,{($obj=new obj())} {($array=array(1=>'a'))}
这里的分隔符为{(和)},我们不推荐你使用{},因为这样可能会造成错误。
它还有一个强大的文件引用的模板语言
{(include file="模板文件名称")}
支持其它的目录模板。或者可以是一个文件的路径,这里会智能的判断文件,并且引用编译,在编译的时候,这些工作会自动完成,不会在编译的文件中在去执行的,提高了以后执行的效率
模板代码预览:
执行效果预览:
另外值得一提的是,你可以利用它的正则替换功能来打造你自己的模板代码
例如,设置
$fc->se=array('#\[include\((.*)\)\]#isuU');
$re->re=array('{(include file="\\1")}');
这样你就可以直接在模板中使用
[include(foot)]
就相当于
{(include file="foot")}
除了支持模板代码的替换,其它的正则也是支持的
你完全可以设置自己的模板代码,而不必拘泥现有的方式,
这样也不会对于效率产生任何的影响,编译成编译文件后的结果是一模一样的,此外还支持正则函数替换的功能
无论你是开发框架的时候嵌入,还是快速开发应用的时候,都可以利用它来减轻你的工作,让原本html,php混写的代码更好的阅读和修改。
更多说明,请下载代码包查看
里面有详细的介绍,请注意文件夹的读写权限。。。
更新说明
* 1.3.5=>修改了原来的静态缓存方法,更实用,更方便
* 1.3.6=>重写了编译算法,更准确,高效。
* 1.3.7=>提升了编译速度,改掉原来的内存释放方法,改正了模板变量解析的bug(更新时间:2014/10/04 23:49)
* 1.3.8=>修改上一个版本引用文件的bug,改进了变量转换方式,新增加变量销毁方法(更新时间:2014/10/09 08:51)
* 1.3.9=>添加了页面gzip压缩,但是效果不太好,目前为止,还没有较好的解决方法,建议在php页面中,首先require lovefc.class php(更新时间:2014/10/13 10:04)
* 1.4=>解决引用文件编译的bug,更改了引用方式(更新时间:2014/10/18 23:36)
* 1.4.1=>添加了新的缓存方式,添加了缓存判断,优化了部分细节。(更新时间:2014/10/22 10:25)
* 1.4.2=>修复了一个赋值转换的bug。(更新时间:2014/10/26 0:01)
* 1.4.3=>修改了引用模板文件的方式。(更新时间:2014/10/29 11:45)
* 1.4.4=>优化编译过程,减少对类方法的引用,添加对编译变量和引用方式的新方法(更新时间:2014/11/16 02:48)
* 1.4.5=>彻底更改了原来的目录结构,新版中不在考虑编译文件目录,对模版存放的目录进行了分类,同时改进了缓存目录的尴尬问题,解决了文件名相同的模版文件使用的是一个缓存文件的可能性,使得模版更加灵活,改进了原来的分割符,正式使用{}来分割,改进了里面一些自以为是的变量命名,尽量做到规范化,去掉了原来的页面压缩功能,使代码精简,其实代码并没有精简好多,反而更大了,在最后我会去掉类中所有的注释和空格,尽量减少类的体积,相应的也能提高加载的速度 (2015/1/14 22:51)
* 1.46=>改进了编译的一个小问题(2015/1/15 14:10)
* 1.47=>把原来的指定编译文件目录的功能又加上去了,并且优化了不少细节问题,经过简单的测试,尚未发现bug的存在(2015/1/15 19:26)
* 1.48=>继续优化细节,并且重新添加了gzip压缩功能(2015/1/16 00:24)
* 1.49=>发现页面引用的一个严重bug,并修复好了他(2015/1/18 03:32)
* 1.5=>更改了模版的设置方式,采用常量设置,精简了代码,去掉了页面静态化功能,因为太鸡肋,去掉了执行时间,因为不准确(2015/1/25 13:09)
* 1.6=>修复了变量翻译冲突的bug,去掉了编译变量类型选择,感谢大隐同学的反馈和建议(2015/07/08 10:28)
* 1.6.e=>废除了常量设置方法,采用了数组定义,这次更新不代表正式版本,只是为了适合新手(2015/09/07 0:39)
* 1.61=>修复了一个创建目录的bug,因为一些不知名的原因导致强制编译始终处于开启的状态,目前已修复,添加了自定义ubb转换的功能,尚未完善,等待测试(2015/08/08 0:11)
* 1.62=>使用单例模式,优化了方法访问权限,修改了实时编译功能,并使引用模版里设置的变量可以共用,去掉了gzip压缩功能(2015/10/08 03:52)
* 1.63=>更改了一个外部变量赋值转换的问题(2015/11/15 03:35)
* 1.64=>更改了模板引用文件的方法,现在可以引用子目录中的文件了(2015/12/14 13:10)
猜你喜欢
- java开源模板引擎velocity入门基础demo教程
- jquery开源模板引擎jtemplates,附带使用实例
- 自己在项目中写的简单的仿freemarker模板引擎工具
- php分页公共类
- php对base62进行解码的方法
- 自己在项目中写的简单的仿 freemarker 模板引擎工具 V2 版本,支持迭代 template4javaniu
- PHP post&get参数安全过滤类
- php原生代码制作的交易日历(动态+ajax版本)mysql数据支持
- 基于php开发昆山即魅化妆品公司网上商城系统,包括后台管理
- Java模板引擎技术freemarker生成静态页面实现网页静态化
- jsp也可以像java开源模板引擎freemarker一样生成本地文件作为代码生成器
- PHP像素拼图,牛哥是一枚自称设计师的程序员!
- /
- /lovefc
- /lovefc/include.php
- /lovefc/index.php
- /lovefc/logo.png
- /lovefc/lovefc.class.php
- /lovefc/templates
- /lovefc/templates/a.html
- /lovefc/templates/head.html
- /lovefc/templates/index.html
- /lovefc/templates_c
- /lovefc