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

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
让显示层与逻辑层亲密接触[模板引擎Vant 5.0功能预告]
悬赏分:20 - 2007年06月04日

[PHP]
Vant 5.0的新功能是革命性的,是所有现有模板所没有的。
它提供了显示层与逻辑层的一种交互机制:在逻辑层,可以决定显示的方式,而在显示层又可以调用逻辑层的相关方法。
然而,它们又是明显分离的。

它可以将几乎所有HTML标签转换为模板控件,你可以有显示层与业务逻辑层共同控制该控件。

如果模板在你心目中是让PHP程式员与美工分离,你可以不看本帖,但如果你认为模板是让显示层与业务逻辑层分离,本帖应该对你有些许帮助。

实际上,这种功能拓展的灵感来自于ASP.net

好了,费话少说,我们用实际事例来讲解一下:

在HTML中有标签
回主页
我们可以将它转变为模板控件,
如{a id="link1" href="index.php"}回主页{/a}
它们的区别是将‘<’改成‘{’,将‘>’改成‘}’,并指定了ID。
当模板被解忻后,该控件会放在模板对象的一个变量中,以ID为键名,如$tpl->vars['link1'],
而$tpl->vars['link1']也是一个对象,属性有: href = 'index.php',text = '回主页';
现在,我们可以在PHP(业务逻辑)中为该控件指定更多的属性,
如:$tpl->vars['link1']->target = '_blank'
也可以更改已有属性,
如:$tpl->vars['link1']->text = '由新的窗口回主页'
那么最终输出到浏览器的将是:由新的窗口回主页

在模板控件中,你可以调用PHP的相关事件,也可以调用JS的相关函数,

如在php页index.php的业务逻辑中有个模拟事件(关于事件模拟,请看我的oop那帖)定义如下:
function onAlert()
{
echo "你好!";
}
在JS中有个函数:
function _alert()
{
alert("我好!");
}
模板控件:{input id="button1" type="button" value="按钮" onClick="_alert()" onServerClick="redirect_alert()"}
最终输出:

通过以上思路,使得显示层与逻辑层分离的同时,又相互作用,显示控制更加灵活。
[/PHP]

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

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

 
[]
©2007 PhpRes.COM