麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
明天发布模板引擎vant5.0
悬赏分:20 - 2007年08月15日

好久没上来换气了, 吐个泡泡先

名称已改为Supertpl
已经应用很长时间了,个人感觉还比较稳定


无论在速度上还是功能上与其它模板相比,都有一个飞跃。

Supertpl的最大特色在于:模板在编译后将生成一个类文件,使得程序与模板的交互成为可能。它除了支持传统的变最替换以外,还独创性的支持模板控件,还可以自由制作扩展控件。另外还增加了缓存与自动生成html文件。

它有五大特色:
1、易用性。
比如:一个生成下拉选单的控件
模板中只需写下:{:select id="select_1"}
而其它属性则可以在程序中设置
如:
$tpl->all['select_1']->dataSrc = 100; (设置数据源)
$tpl->all['select_1']->selectedValue = 2; (设置被选中的值)
$tpl->all['select_1']->onChange = "location.href='index.php?act='+this.value";

2、灵活性:
所有控件的属性也可以写在模板中
如:{:select dataSrc=100 selectedValue=2 onChange="location.href='index.php?act='+this.value"}
以上1、2的输出结果是相同的

3、高速。
Supertpl是编译型模板,在第一次运行时,将生成一个PHP类文件,以后则直接使用这个文件,对字串的输出则采用echo实时输出,因此速度飞快。
经测试,它的速度比smarty快了将近一倍(后面有测试程序下载)

4、超强扩展性:
你不仅可以自定义函数作为变量的调节器,还可以任意自定义扩展控件,将你常用的输出包装成一个类,该类既可以在模板中作为控件使用,又可以在程序中使用
后面将以一个日历控件讲述如何制作扩展控件

5、XML文件显示:
xmlReader控件用来读取并显示XML文件,不过有待完善。


● 功能列表:
1、Supertpl是编译型模板,在第一次运行时,将生成一个PHP类文件,以后则直接使用这个文件,对字串的输出则采用echo实时输出,因此速度飞快。
2、增加缓存功能,进一步提高速度。
3、可自动生成html文件,也可调用createHtml()方法手动生成。
4、可自由扩展的变量调节器,让输出形式随心所欲。
5、模板控件的支持,使程序与模板的交互成为可能。(至于什么是模板控件以及有哪些模板控件,将在下面的内容中详细讲述)
6、模板控件也可以自由扩展,功能强大,使用简单。
7、无限循环嵌套,以遍历数组,并可方便的将数据多列显示。
8、模板可无限嵌套,任意组织页面结构。
9、if,else if,else语句支持。
10、安全模式。在安全模式下,模板不能是PHP文件。但可设置安全文件夹,只有位于安全文件夹下的PHP文件才能作为模板。
11、可直接使用PHP文件作模板,用PHP语言作为模板语言,此时则无需编译,使用简单速度快,也实现了逻辑与显示的分离。
12、可直接执行output()输出内容,也可执行getContent()取得内容,以供操作。
13、模板语言的写法比较松散。但对于控件的名称与属性是区分大小写的。

● 在模板语言方面与vant4.01的区别:
1、默认的左标记为:"{:",(为了与javascript区分),右标记不变。
2、输出变最改为"{:=varname}"。(加了一个等号)
3、循环标记由for改为repeater,循环只支持遍历数组,取消了对数字的循环和步长等。
4、对循环后的结果取值:取得键名由loop1.item改为loop1->key,取得值由loop1.value改为loop1->val。
5、数据源由data改为dataSrc。
6、对于字串,必须使用引号。比如:{:repeater name="loop1" dataSrc=list_data},其中loop1是字串,用了引号,而list_data是程序端设置的变量,因此不必用引号
7、变量调节器由如{:var|date:Y-m-d}改为如{:=var.date("Y-m-d")}

● 重要提示:
1、parse()应该在程序开始时执行(尤其是有模板控件时必须如此),要输出则调用output();
2、执行parse()之前,如果有嵌套模板,必须先指明被嵌套模板的路径

● 文件组成:
1、Supertpl.inc.php 主体文件;
2、SupertplCreate.inc.php 建立编译文件的类文件
3、SupertplConfig.inc.php 控件名与变量调节器名注册表
4、SupertplPlugins.inc.php 变量调节器函数集
5、HtmlElement.inc.php HTML控件集
6、PhpObject.inc.php 通用对象操作文件

提问者:lwg888   08-15 17:05
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
46 + 23 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM