|
| [不申请加精了]DP的模板程序分离结构有些糟糕... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 作者 chuang_no1 查看 1420 发表时间 2006/5/1 15:32 【论坛浏览】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
大家看到这个题目不要生气,先看看我说的有没有道理。 今天放假,分析了一下这个程序的模板分离模式,发现并不是通过模板中 print << EOT ?> 方法实现的,遂仔细研究下去,发现原来是通过生成 代码... 之间的代码实现的,于是自己做了一个模板,直接用浏览模板显示正常,但是通过DP生成后页面乱七八糟,经过对比分析,发现原来是作者偷懒了一下,并不是提取 代码... 之间的代码,替换变量后输出,而是直接将包含 表格代码的代码插入,也就是说,输出的变量不仅仅只是内容,还包含了排版标签,这样一来,模板就必须与程序配合使用表格标签,限制了自由发挥。这是偷一大懒。 | 其二,小懒,变量输出的标签只有 ,省了前面的 | 里面套了一个
输出 ..... | 晕...又是table之外的tr、td,版面那个乱啊...没办法,在之前再套table... 默认default模板在整个页面上面有个大table套住所以没出问题,而我外面一个大table是用来控制整个页面宽度的,被它给搅了个稀烂... 最后总结一下:模板与程序分离结构设计得并不好,程序似乎是为default设计的,以至于所有新开发模板都要受到限制,尤其是除了{}之外也会输出代码,使得面向对象式即每个部分独立控制界面的模板开发困难,而不得不影响到其他部分,也难怪default里面的DIV是互相交叉的。需要改进的地方如下: 1.不要再输出代码,而仅仅作为程序识别的标记(非常重要) 2.输出的 标签补上 |
Powered by DiY-Page 5.3.0 © 2005-2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||