免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 9382 | 回复: 45
打印 上一主题 下一主题

[发布]PHP资源模板(assetTemplate1.15) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-16 17:12 |只看该作者 |倒序浏览
  1. PHP资源模板(assetTemplate1.15)
  2. 作者:axgle

  3. PHP资源模板,是一种用PHP本身作为模板语言的模板引擎,其显著的特点就是文件夹中有个$符号,因而被称为"资源模板"。


  4. 模板规则(两手抓):
  5. 1.全部使用php的语法;对于输出部分,不需要echo,print等;
  6. 2.模板文件中的逻辑控制代码,只需用<!---->注释掉;

  7. 使用方法(三步曲):
  8. 1.打开模板:$ass = new asset;
  9. 2.变量赋值:$ass->tpl_var="some data";
  10. 3.输出结果:$ass->display('template.htm');

  11. 多么的方便呀,享受它吧~~~

  12. ----------------------------------

  13. 更新日志:
  14. 2006-4-13 v1.15
  15.         1.添加force_compile等属性,重命名方法flush为display,get_contents为fetch;
  16.         2.添加append方法的演示
  17.         3.修复被编译文件'<?php'处可能缺少一个空格的BUG

  18. 2006-4-11 v1.14
  19.         1.添加一个view函数,非常方便的调用资源模板。
  20.         2.修改PHP command函数,凡是符合<!--$\s*(.+);-->的为PHP代码.也就是<!--$ php_code ;-->
  21.         3.添加view和command相关演示

  22. 2006-4-10 v1.13
  23.         1.可以执行PHP command,不再考虑安全问题。语法非常干净利落;
  24.         2.移除了asset_ext,v1.13中已经没有必要.
  25.         3.增加一个分页的演示.

  26. 2006-4-9 v1.12
  27.         1.修复v1.11的一个安全漏洞(通过特别的方式,模板文件注入任意php代码), 该bugs被发现和清除.
  28.         2.添加了必要的注释。

  29. 2006-4-9 v1.11
  30.         1.添加扩展模块(asset_ext),用户可自定义函数以便在模板文件中调用;

  31. 2006-4-8 v1.10
  32.         1.改写了编译函数,现在模板可以公开,由用户编辑,不再存在相对安全性问题
  33.         2.猛然发现PHP资源模板的编译方法具有通用性,想怎么修改都行,非常灵活
  34.         3.由于编译安全性问题解决,版本定为v1.1

  35. 2006-4-8 v1.07
  36.         1.去掉了三个多余的别名方法(assign,output,result);
  37.         2.修改了类名assetTemplate,已简写为asset,并且扩展名默认为'htm';
  38.         3.添加了_begin和_end私有属性,便于理解和修改

  39. 2006-4-7 v1.06
  40.         1.添加三个别名方法,名字和流行的模板方法名保持一致。其中包括assign方法,output方法和result方法;
  41.         2.把编译过程(在start方法里)从构造函数移动到了flush中,为的是能够在编译或输出之前修改属性变量(见演示).
  42.         3.添加update_cpl成员变量,运行时可修改,参考第2点说明;

  43. 2006-4-1 v1.05
  44.         1.增加ASSET_UPDATE_CPL常数,若你的模板文件不再修改或更新,可以设定为false,可优化一些速度;

  45. 2006-3-28 v1.04
  46.         1.修改了assetTemplate的构造函数,注意:现在构造函数的参数不能为空;
  47.         2.增加了get_contents方法,用于模板的嵌套;您也可以用它来处理静态缓存(cache);
  48.         3.增加一个assetLite类,若你的模板中不需要php控制性代码,可以用这个类;
  49.         4.增加相关的演示,具体演示见文档.

  50. 2006-3-26 v1.03
  51.         1.去掉v1.02beta中的防盗连功能,只保留模板必须的功能
  52.         2.修改了start方法的传递参数;现在模板文件需要写扩展名,这样可以方便的支持任意扩展名的模板
  53.         3.修正XML刷新的BUG
  54.         4.调整了目录结构,把assetTemplate.php放到了lib目录中.
  55.         5.增加对形行表格(talbe)的演示

  56. 2006-3-23 v1.02beta
  57.         1.增加防盗连功能,防止别人直接引用资源文件夹下的所有文件
  58.         2.添加部分注释

  59. 2006-3-21 v1.01
  60.         1.PHP资源模板正式命名为assetTemplate,并基于BSD协议发布.
  61.         2.增加对RSS模板的演示
复制代码

[ 本帖最后由 axgle 于 2006-4-13 11:46 编辑 ]

assetTemplate1.15.zip

36.14 KB, 下载次数: 161

论坛徽章:
0
2 [报告]
发表于 2006-03-17 16:24 |只看该作者
老兄,这个模板比fasttemplate简单多了。。不过我问一下哦。我用的时候需要注意些什么?
比如我可不可以用它到商业用途上(就是搭建后台),或者说我可不可以修改它的源代码?让它更适合自己。。

论坛徽章:
0
3 [报告]
发表于 2006-03-17 16:47 |只看该作者
汗一把,原来老兄使用的是PHP本身模板啊。。我刚才没看你的解释,只看了第一段就感觉很好用。。。哈哈。老兄的文采也是一流啊。。。看了你这篇“小说”,受益非浅,非常感谢~~~

论坛徽章:
0
4 [报告]
发表于 2006-03-17 17:52 |只看该作者
试试

论坛徽章:
0
5 [报告]
发表于 2006-03-21 16:32 |只看该作者
感觉有点多余
直接使用EOT不也一样的嘛

论坛徽章:
0
6 [报告]
发表于 2006-03-21 18:05 |只看该作者
原帖由 ysixin 于 2006-3-21 16:32 发表
感觉有点多余
直接使用EOT不也一样的嘛

呵呵,不见得.
今天我更新了,一并发在这里.
-------------
更新日志
2006-3-21
        1.PHP资源模板正式命名为assetTemplate,并基于BSD协议发布.
        2.增加对RSS模板的演示

assetTemplate1.01.zip

9.19 KB, 下载次数: 86

论坛徽章:
0
7 [报告]
发表于 2006-03-21 18:18 |只看该作者
好看!~谢谢楼主!

论坛徽章:
0
8 [报告]
发表于 2006-03-22 01:56 |只看该作者
你的版本控制好乱....一时1.X,一时又2.X...摸不着头脑,另外,有更新应该更新到顶贴,在回复里别人找不着

论坛徽章:
0
9 [报告]
发表于 2006-03-22 11:29 |只看该作者
原帖由 axgle 于 2006-3-21 18:05 发表

呵呵,不见得.
今天我更新了,一并发在这里.
-------------
更新日志
2006-3-21
        1.PHP资源模板正式命名为assetTemplate,并基于BSD协议发布.
        2.增加对RSS模板的演示


呵呵,望你继续
在rss里看到一点希望

论坛徽章:
0
10 [报告]
发表于 2006-03-23 09:47 |只看该作者
其实借你的思想,任何模伴类都可以做到资源模板。。。比如fasttemplate,我就完全可以用{source}这样的文件夹来存放资源。。。并且我也试过了,确实可行。。。

你的模板我仔细看过N遍了。。可惜我技术差,看不透内在。。。所以有几个问题想请教你一下怎么解决:
1。从start()函数来看,当想用index.html为模板时,就必定会生成index.php文件。。。。
那么假如我有好几个PHP文件想调用index.html做模板时怎么办?比如文章列表,我以list.html做为模板,不管哪个PHP想生成列表,都是以list.html为模板的,这时要传什么参数给start()呢?

2。当网页中有iframe时,而iframe页面中又有图片还有链接到其他网页的超链接,这时问题就复杂化了。。你觉得,这个iframe应该怎么处理?我是又新建了一个{iframe}来存放iframe页面来解决的。但是,随着问题的复杂化,“文件夹变量”会越来越多,而且全部都是全局变量,你不觉得这样很有安全隐患吗?

3。还有,在HTTP协议下,存在着URL编码问题,就是象中文那样,放到地址栏上会变成类似%xx这样的形式。。。那么象$这样的特殊字符,放到地址栏上会不会“变样”呢?我在本地服务器上测试过,没有变,但不敢肯定在linux服务器下也不会变~~楼主试过没有?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP