lovefc的gravatar头像
lovefc 2016-06-23 11:11:52

php小型模板引擎lovefc_Template介绍与使用

一个小巧,轻便,高效率的模板引擎,只有区区的十几k的大小,提供了一个模板引擎最为基础的功能,此外,还有一些对于模板语言的可扩展性,你完全可以利用它来打造自己的模板代码,更快方便的书写代码。

php小型模板引擎lovefc_Template介绍与使用

smarty是最为经典的模板引擎,相信很多人用过,不过,它太大了,在一些并不是很大的项目上,利用它就有点得不偿失了。

 

市面上也有很多其它类似的模板引擎,都是以轻巧为主的,lovefc_Template的优势在于,它的转换方式不是通过简单的正则匹配,另外它的一些语法也是非常的便利。

 

例如,许多模板代码中没有赋值的语法,lovefc_Template中,定义了一个赋值的语法

{($a='你好')}

 

这里的赋值跟php中的是一样的,不管是函数,数组,还是对象,都是可以的,{($obj=new obj())} {($array=array(1=>'a'))}

 

这里的分隔符为{(和)},我们不推荐你使用{},因为这样可能会造成错误。

 

它还有一个强大的文件引用的模板语言

 

{(include file="模板文件名称")}

 

支持其它的目录模板。或者可以是一个文件的路径,这里会智能的判断文件,并且引用编译,在编译的时候,这些工作会自动完成,不会在编译的文件中在去执行的,提高了以后执行的效率

模板代码预览:

php小型模板引擎lovefc_Template介绍与使用

执行效果预览:

php小型模板引擎lovefc_Template介绍与使用

 

另外值得一提的是,你可以利用它的正则替换功能来打造你自己的模板代码

例如,设置

$fc->se=array('#\[include\((.*)\)\]#isuU');

$re->re=array('{(include file="\\1")}');

 

这样你就可以直接在模板中使用

[include(foot)]

就相当于

{(include file="foot")}

php小型模板引擎lovefc_Template介绍与使用

除了支持模板代码的替换,其它的正则也是支持的

 

你完全可以设置自己的模板代码,而不必拘泥现有的方式,

 

这样也不会对于效率产生任何的影响,编译成编译文件后的结果是一模一样的,此外还支持正则函数替换的功能

 

无论你是开发框架的时候嵌入,还是快速开发应用的时候,都可以利用它来减轻你的工作,让原本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)


打赏

文件名:lovefc1.64.zip,文件大小:28.146K 下载
  • /
      • /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
    最代码最近下载分享源代码列表最近下载
    511076827  LV33 4月1日
    candy呀  LV2 2020年11月24日
    思晴呀  LV2 2018年5月31日
    chappie_lu  LV5 2018年5月20日
    wuqiaochen2013  LV3 2017年6月28日
    417626953  LV3 2017年6月5日
    denilo  LV2 2017年2月17日
    GTG雇盟  LV3 2016年9月17日
    hope2027  LV17 2016年7月15日
    1394206122  LV2 2016年6月26日
    最代码最近浏览分享源代码列表最近浏览
    求学的熊猫  LV11 5月21日
    511076827  LV33 4月1日
    煜过天晴 1月3日
    暂无贡献等级
     LV7 2023年8月21日
    9323249323  LV13 2023年7月25日
    gfd6670  LV2 2023年6月1日
    dfkk_love  LV11 2022年1月4日
    chenhao1992  LV1 2021年12月6日
    小白小怪  LV10 2021年6月23日
    jamesqz 2021年3月9日
    暂无贡献等级
    顶部 客服 微信二维码 底部
    >扫描二维码关注最代码为好友扫描二维码关注最代码为好友