网站首页   进入论坛     官方下载     使用教程     免费用户     付费用户     Bug报告     购买授权     捐助我们  
论坛帖子内容              Thread Content
[不申请加精了]DP的模板程序分离结构有些糟糕...
作者 chuang_no1   查看 1420   发表时间 2006/5/1 15:32  【论坛浏览】
大家看到这个题目不要生气,先看看我说的有没有道理。

今天放假,分析了一下这个程序的模板分离模式,发现并不是通过模板中
print << 代码..
EOT
?>

方法实现的,遂仔细研究下去,发现原来是通过生成

代码...

之间的代码实现的,于是自己做了一个模板,直接用浏览模板显示正常,但是通过DP生成后页面乱七八糟,经过对比分析,发现原来是作者偷懒了一下,并不是提取

代码...

之间的代码,替换变量后输出
,而是直接将包含
表格代码的代码插入,也就是说,输出的变量不仅仅只是内容,还包含了排版标签,这样一来,模板就必须与程序配合使用表格标签,限制了自由发挥。这是偷一大懒。

其二,小懒,变量输出的标签只有
,省了前面的,嘿嘿!!DP自带的模板



代码



里面套了一个,所以没有出错,但是如果把每一个部分作为一个对象来处理呢?






输出




没table的tr、td,只好抢其他的table标签~是不是见鬼了?还好这个问题不严重,自己套一个table标签便是。

其三:
别的不知道是不是这样,但是除了{XXX}的内容会输出代码外,



这一行也会输出代码,晕啊...举例:



...

代码...



输出

.....


代码...



晕...又是table之外的tr、td,版面那个乱啊...没办法,在之前再套table...
默认default模板在整个页面上面有个大table套住所以没出问题,而我外面一个大table是用来控制整个页面宽度的,被它给搅了个稀烂...

最后总结一下:模板与程序分离结构设计得并不好,程序似乎是为default设计的,以至于所有新开发模板都要受到限制,尤其是除了{}之外也会输出代码,使得面向对象式即每个部分独立控制界面的模板开发困难,而不得不影响到其他部分,也难怪default里面的DIV是互相交叉的。需要改进的地方如下:
1.不要再输出代码,而仅仅作为程序识别的标记(非常重要)
2.输出的标签补上(使各部分独立设计风格变得更加容易而且不会影响目前的绝大多数模板)
3.提取之间的完整代码处理后输出,而不是仅仅把之间的{xxx}输出代码再来和外面的其他标签组合成完整的标签(有些难度,不勉强)

[ 本帖最后由 chuang_no1 于 2006-5-1 21:14 编辑 ]

序号 评论者 共有评论 5   【论坛浏览】  【发表评论】 评论时间
1 wenshuang

  引用:
原帖由 chuang_no1 于 2006-5-1 15:32 发表
今天放假,分析了一下这个程序的模板分离模式,发现并不是通过模板中
print << 代码..
EOT
?>
方法实现的,遂仔细研究下 ...

先感谢你对DP的关心。

切入正题:

楼主对PHPLIB不熟吧。BEGIN END是PHPLIB模版类的LOOP起始和结束标签,并不是{变量}的意思,因此也就不存在你所说的问题了。

另外,真正的模版是不应该沾PHP代码进去的。PHPLIB在这方面做得非常出色,远胜于smarty等后生。

不过3.6.0我就不会再用PHPLIB了,毕竟是2000年时代的东西了。3.6.0将不会用到模版类(与新的设计有关)。

“360计活动”(为DP新版提建议的活动)DP论坛置顶有,看到你水平不错,欢迎你的参与。
2006/5/1 16:12
2 wenshuang 另外这个版一般非模版发布的贴,不会加精。抱歉。 2006/5/1 16:13
3 chuang_no1 嗯,的确不是很熟悉PHP,所以用词不够准确和专业,不过大意应该表达出来了。另外

这个地方确实很不爽,下午又尝试做了个模板,还是在这个地方出错了,麻烦说明一下这个地方是怎样处理的?

至于加精嘛...是为了引起注意咯,不是真的那么需要加精,下次放几个版子上来再正式申请加精吧~PW的版子搞惯了,搞DP好不顺。

[ 本帖最后由 chuang_no1 于 2006-5-1 20:41 编辑 ]
2006/5/1 20:38
4 wenshuang

  引用:
原帖由 chuang_no1 于 2006-5-1 20:38 发表
嗯,的确不是很熟悉PHP,所以用词不够准确和专业,不过大意应该表达出来了。另外

这个地方确实很不爽,下午又尝试做了个模板,还是在这个地方出错了,麻烦说明一下这个地 ...

研究模版现在不是时候,DP马上要做新版,到时模版会有很大变动(肯定是比现在简单)
2006/5/1 22:20
5 andy 呵呵 2006/5/2 20:26
 共有评论数 5  每页显示 10
页码 1/1  |<  <<   1   >>  >| 
Powered by DiY-Page 5.3.0 © 2005-2008