
2008-1-30 16:31
bc1998
对zend_layout的粗糙理解
对zend_layout的粗糙理解
声明:本人很垃圾,说的基本都不对,请读者谨慎阅读.
先说一下视图,视图是由php生成和html代码组合的产物.问题就是两种编码的组织形式有差异,php是一个片段组合起来的,而html代码都是由闭合标签组织起来的.这样就留下最经典的问题就是html标签必须由html在最外面闭合head和body.而每个视图所谓差异就在body上,要是按照原有的形式必然造成其head代码的复写.
而zend_layout就能很好的解决这个问题,他是把所有的view都包容在layout之中,默认是content内容,然后每个页面的head差异可以给View Helper来处理.
当然这只是一个简单的应用,像比如经典的3行2列布局的页面,可以公用其共有部分.
[[i] 本帖最后由 bc1998 于 2008-1-31 10:29 编辑 [/i]]
2008-1-30 18:27
punksky
完全没有头绪。。。
2008-1-30 19:56
haohappy
晚上去广州,回来再说。
讨论技术不用这样吧。贴聊天记录干什么?
2008-1-31 15:58
jasonqi
[quote]原帖由 [i]haohappy[/i] 于 2008-1-30 19:56 发表 [url=http://www.phpeye.com/bbs/redirect.php?goto=findpost&pid=1277&ptid=353][img]http://www.phpeye.com/bbs/images/common/back.gif[/img][/url]
晚上去广州,回来再说。
讨论技术不用这样吧。贴聊天记录干什么? [/quote]
这时候还去广州啊?
2008-2-1 09:55
haohappy
看手册很容易理解:Zend_Layout实现了一个Two Step View 设计模式,不像普通模板View那样一步就把内容转换成HTML,而是分成两步来实现。 第一步把领域数据转换为逻辑表示形式,第二步把逻辑表示转换为html。
对于该设计模式,可以参考Martin Fowler的定义:
[url]http://martinfowler.com/eaaCatalog/twoStepView.html[/url]
两步视图的意义在于方便你对视图进行全局性的改变(比如把整个网站的所有页面从三列布局改变为两列布局)。
2008-2-1 09:56
haohappy
[quote]原帖由 [i]jasonqi[/i] 于 2008-1-31 15:58 发表 [url=http://www.phpeye.com/bbs/redirect.php?goto=findpost&pid=1279&ptid=353][img]http://www.phpeye.com/bbs/images/common/back.gif[/img][/url]
这时候还去广州啊? [/quote]
又去签证。。回来了。
2008-2-1 10:57
bc1998
[quote]原帖由 [i]haohappy[/i] 于 2008-2-1 09:55 发表 [url=http://www.phpeye.com/bbs/redirect.php?goto=findpost&pid=1281&ptid=353][img]http://www.phpeye.com/bbs/images/common/back.gif[/img][/url]
看手册很容易理解:Zend_Layout实现了一个Two Step View 设计模式,不像普通模板View那样一步就把内容转换成HTML,而是分成两步来实现。 第一步把领域数据转换为逻辑表示形式,第二步把逻辑表示转换为html。
对于该设计模 ... [/quote]
说得太好了
2008-2-2 20:06
superwen
对,还有一个典型的应用就是ajax视图布局。
一般的试图都包含的head,body部分,但是ajax视图一般只返回一个html片段, 所以我们需要两个布局来处理。
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.