模板引擎简直就是一个大笑话
时间:2007-02-04
来源:互联网
我可以直接将php输出语句写到html离,取出数据后我再inlcude就ok了,缓存系统我自己可以构造,什么狗屁预编译,简直就是愚弄劳苦大众。以后凡是自己写系统一概不用现有的模板引擎。
不知道有人发现这个问题没有。一般情况下,smarty模板也是程序员来写,我们何不直接写php输出语句,而再去学那个乱七八糟的y模板语言。
作者: hobbs136 发布时间: 2007-02-04
作者: weiwei 发布时间: 2007-02-04
作者: mzt 发布时间: 2007-02-04
哈哈..果然快了!!!方便还实惠....
好不好就不知道了,但开发效率确实快了~~
作者: lmhllr 发布时间: 2007-02-04
作者: Ben 发布时间: 2007-02-04
作者: Phzzy 发布时间: 2007-02-04
引用:
原帖由 Ben 于 2007-2-4 14:29 发表月经帖~
作者: mitch 发布时间: 2007-02-04
作者: dzjzmj 发布时间: 2007-02-04
作者: cator 发布时间: 2007-02-04
引用:
原帖由 cator 于 2007-2-4 23:58 发表楼主应该没有做过中大型开发吧 :L
至于什么是大型网站?同时[一分钟内]在线1w人,排名300左右算不算呢?
真正的瓶颈在PHP的没有持久数据库连接池,就死在上w个连接同时同时攻击数据库
[ 本帖最后由 gege 于 2007-2-5 00:14 编辑 ]
作者: gege 发布时间: 2007-02-05
引用:
原帖由 <i>cator</i> 于 2007-2-4 23:58 发表<br />楼主应该没有做过中大型开发吧 <img src="images/smilies/sweat.gif" smilieid="10" border="0" alt="" />
你可以搜一下我的文章,看看我的水平。
作者: hobbs136 发布时间: 2007-02-05
引用:
原帖由 <i>mzt</i> 于 2007-2-4 12:11 发表<br />如果不使用模板,而直接使用php,那么如果美工在其中放上了一些不良代码,你就惨了。
美工会用smarty吗?每个模板不是我们程序员写的。
作者: hobbs136 发布时间: 2007-02-05
引用:
原帖由 <i>lmhllr</i> 于 2007-2-4 13:07 发表<br />我跟你一样~一开始不喜欢用模板,后来因为项目赶时间,就用了<br />
<br />
哈哈..果然快了!!!方便还实惠....<br />
<br />
好不好就不知道了,但开发效率确实快了~~
我刚过了一个坎,我不但会用smarty,而且很熟练,甚至可以说精通,但是,我发现了php应用的本质。smarty最重要的功能不是分离,而是cache。
作者: hobbs136 发布时间: 2007-02-05
引用:
原帖由 <i>Ben</i> 于 2007-2-4 14:29 发表<br />月经帖~
什么版主?不是看见陌生的东西就乱吠的东西,去客观的想想。
作者: hobbs136 发布时间: 2007-02-05
引用:
原帖由 <i>gege</i> 于 2007-2-5 00:08 发表<br /><br />
<br />
楼主看来还有点希望,方向是正确的,继续努力。<br />
<br />
<br />
至于什么是大型网站?同时在线1w人,排名300左右算不算呢?<br />
<br />
<br />
真正的瓶颈在PHP的没有持久数据库连接池,就死在上w个连接同时同时攻击数据库
我并不高明,但是你说的这点小东西我还是知道的。
作者: hobbs136 发布时间: 2007-02-05
不过是把模板换回php罢了.
作者: 书生 发布时间: 2007-02-05
刚接触php时,什么都不管,就把php写在html里,完成功能就可以.
慢慢地,做的项目复杂了,发现改起来很麻烦..开始用pear:IT
后来,由于项目需要,转向了smarty,并喜欢上它..
用着用着,觉得smarty实在太庞大了..用在某些项目中很不合适,于是尝试自己写模板引擎..
写着写着,出来的东西居然有八九分像smarty,于是放弃..
现在,在我的项目中,我也开始转向用php本身来做view...操作起来,跟用smarty没什么两样
至于说美工,我倒没见过会帮你写模板代码的,我们公司无论你用什么模板,都是美工切好html后,就交到程序员手中,什么模板一概不管...
作者: 太阳雨 发布时间: 2007-02-05
引用:
原帖由 <i>太阳雨</i> 于 2007-2-5 09:37 发表<br />跟楼主有几乎同样的经历:<br />
刚接触php时,什么都不管,就把php写在html里,完成功能就可以.<br />
慢慢地,做的项目复杂了,发现改起来很麻烦..开始用pear:IT <br />
后来,由于项目需要,转向了smarty,并喜欢上它..<br />
用着用着,觉 ...
遇到知音了。
作者: hobbs136 发布时间: 2007-02-05
作者: weicanhuang 发布时间: 2007-02-05
引用:
原帖由 hobbs136 于 2007-2-5 09:08 发表<br />
美工会用smarty吗?每个模板不是我们程序员写的。
[ 本帖最后由 mzt 于 2007-2-5 11:20 编辑 ]
作者: mzt 发布时间: 2007-02-05
引用:
原帖由 hobbs136 于 2007-2-5 09:05 发表你可以搜一下我的文章,看看我的水平。
1、水平高不代表就能开发中大型系统。
2、smarty不是模板引擎的标准,你可以说smarty不好用,但由smarty引伸到否定模板引擎的作用是不是有点夸大其词了。
3、有了模板引擎,总有一天能实现代码和界面的合理分离,PHPer就有希望可以从调整界面的苦难中脱离出来专心的做Coder。
PS:个人强烈支持模板引擎技术及软件开发架构,并期待更好的产品早日出现。
作者: cator 发布时间: 2007-02-05
引用:
原帖由 <i>cator</i> 于 2007-2-5 11:08 发表<br /><br />
<br />
水平高又怎样?<br />
1、水平高不代表就能开发中大型系统。<br />
2、smarty不是模板引擎的标准,你可以说smarty不好用,但由smarty引伸到否定模板引擎的作用是不是有点夸大其词了。<br />
3、有了模板引擎,总有一天能实 ...
经历一些之后我才能发出感言。
作者: hobbs136 发布时间: 2007-02-05
引用:
原帖由 hobbs136 于 2007-2-5 09:05 发表你可以搜一下我的文章,看看我的水平。
不用模板, 只适合个人单干. 与美工合作的时候, 内嵌的php代码, 美工会头痛. 这样的后果是每次网页的修改, 美工说"内嵌的php代码, 我不会改, 不好意思, 我只能出HTML代码给你, 麻烦你的再次把php代码嵌入!!!!:)" 当然, 如与你合作的美工水平实在太差, 那另计.
虽我没用Smarty, 不过我也看了一下他的模板语法, 的确是有点复杂, 美工学习的确要点时间.
作者: litqqs 发布时间: 2007-02-05
引用:
原帖由 <i>litqqs</i> 于 2007-2-5 14:22 发表<br /><br />
<br />
真搜了一下你的文章, 不想打击你, 还是多花时间思考吧. <br />
不用模板, 只适合个人单干. 与美工合作的时候, 内嵌的php代码, 美工会头痛. 这样的后果是每次网页的修改, 美工说"内嵌的php代码, 我不 ...
只是冰山一角而已,不用你打击,我自己知道有多少斤两。smarty语法就是简单的php输出语句,学会smarty,恐怕和学会php基本语法没有什么区别。
什么模板引擎适合团队开发,那只是一个笑话,目前有几个美工会模板语法,连标准css都写不好。我直接用php输出,然后将输出的变量取出,最后再include模板,和用smarty这个套,有着一摸一样的效果。让美工学习smarty,不如教他们点php知识呢。
最后,表现全部用css来控制,只要结构不变,我就不用动模板。美工头疼什么,美工自己有自己的备份,自己不会照着修改啊。
作者: hobbs136 发布时间: 2007-02-05
最后有一句话很经典:
并且记住:模板引擎的要点是把你的业务逻辑从你的表现逻辑中分离出来,而不是把你的PHP代码从HTML代码中分离出来。
作者: hobbs136 发布时间: 2007-02-05
引用:
原帖由 hobbs136 于 2007-2-5 16:13 发表http://www2.xydw.com/read.php?wid=329
最后有一句话很经典:
并且记住:模板引擎的要点是把你的业务逻辑从你的表现逻辑中分离出来,而不是把你的PHP代码从HTML代码中分离出来。
作者: 书生 发布时间: 2007-02-05
不用模版引擎就不能分离业务逻辑?正菜鸟一个!
作者: gabin 发布时间: 2007-02-05
引用:
原帖由 hobbs136 于 2007-2-5 16:13 发表http://www2.xydw.com/read.php?wid=329
最后有一句话很经典:
并且记住:模板引擎的要点是把你的业务逻辑从你的表现逻辑中分离出来,而不是把你的PHP代码从HTML代码中分离出来。
作者: lgy1 发布时间: 2007-02-05
引用:
原帖由 太阳雨 于 2007-2-5 09:37 发表跟楼主有几乎同样的经历:
刚接触php时,什么都不管,就把php写在html里,完成功能就可以.
慢慢地,做的项目复杂了,发现改起来很麻烦..开始用pear:IT
后来,由于项目需要,转向了smarty,并喜欢上它..
用着用着,觉 ...
作者: weiwei 发布时间: 2007-02-05
引用:
原帖由 Phzzy 于 2007-2-4 15:51 发表日经日经
作者: dennis 发布时间: 2007-02-05
引用:
原帖由 hobbs136 于 2007-2-5 16:13 发表http://www2.xydw.com/read.php?wid=329
最后有一句话很经典:
并且记住:模板引擎的要点是把你的业务逻辑从你的表现逻辑中分离出来,而不是把你的PHP代码从HTML代码中分离出来。
smarty并不是为了将php代码从html分离出来,而是为了让表现层和数据逻辑层分离(php还没有很好的业务逻辑,基本上都是直接从数据库取数据,丢到表现层处理。)。
所以,你写的东西也是模版的一种,一种基本的模板~~
那么这无疑就是自己抽自己的嘴巴~~一面说模版都是垃圾,一面又自己写了一个模版用~~~
呵呵,另外,发帖的时候语气问题要注意一下。天外有天,山外有山~~~你可能觉得自己水平已经很厉害了,但是在高手眼里,是个小学生也说不定。说多了~~~闪~~~
作者: mikespook 发布时间: 2007-02-06
引用:
原帖由 hobbs136 于 2007-2-5 15:54 发表什么模板引擎适合团队开发,那只是一个笑话,目前有几个美工会模板语法,连标准css都写不好。我直接用php输出,然后将输出的变量取出,最后再include模板,和用smarty这个套,有着一摸一样的效果。让美工学习smarty,不如教他们点php知识呢。
最后,表现全部用css来控制,只要结构不变,我就不用动模板。美工头疼什么,美工自己有自己的备份,自己不会照着修改啊。
没用模板而又能代码质量好的成功产品极少, 找来找去只找到 PHPMyAdmin 一个. 不过不幸的是, 我们的团队成员的水平不是个个都可以与 PHPMyAdmin 的团队成员水平相当的. 而我们的开发是进度影响着项目的成本(时间, 金钱都有), 不能与 PHPMyAdmin 等同视之, 因为 PHPMyAdmin 是免费的, 不是以赚钱为目的.
作者: litqqs 发布时间: 2007-02-06
作者: zhaogequ 发布时间: 2007-02-06
引用:
原帖由 <i>zhaogequ</i> 于 2007-2-6 01:58 发表<br /><img src="images/smilies/lol.gif" smilieid="12" border="0" alt="" />你这帖子本身就是一个大笑话
实践->理论->再实践->再理论...如此反复。可能我用词不当,可能每个有点资质的人都有点自负(我也不例外),但是争论中,我在进步,吸收别人的长处,发现自己的短处。我觉得这是很好的一课,让我再次想起真理。对那些提出批评教育的人表示感谢和景仰,对那些随声符合的人也表示感谢,也对那些无知者表示感谢,因为我还知道还有人比我更没有自知之明。
这是一个在应用上的争论,其实比单纯的技术争论更有意义,毕竟人是活的,技术是死的。计算机就是0-1,但是人呢,如果你能用0-1写出一个人,我愿意永生追随你。
作者: hobbs136 发布时间: 2007-02-06
作者: yltgood 发布时间: 2007-02-06
看了前面激烈的争论,大概也知道一些情况,可能大家误解了楼主,应该说模版是要用的,但要实现模版功能,并不一定要用smarty,phplib这些模版,我想这是楼主的意思
1。只要逻辑和显示分离就行,自己能控制整个代码的执行情况,
2。smarty虽然里面功能很强,但很多也用不到,为什么要加入这些不稳定因素在自己的程序里面!看看论坛程序,难道他们都用smarty或phplib了吗?拿我熟悉的phpwind来说,一个函数printEot就实现了smarty的功能
3。对于美工,难道把{}换成<?php ?>对于美工影响就这么大吗?
~
[ 本帖最后由 h058 于 2007-2-6 13:38 编辑 ]
作者: h058 发布时间: 2007-02-06
作者: cator 发布时间: 2007-02-06
作者: zhuzhu2hao 发布时间: 2007-02-06
是性能的提升。你说那些干嘛呢。
并不是说SMARTY是万能的良药。有些项目肯定不适合SMARTY的。
但是有些项目。SMARTY是最好的选择。
再说一句。SMARTY重要的性能就是缓存技术!
作者: 老胡 发布时间: 2007-02-07
作者: djlongshao 发布时间: 2007-02-07
为了MVC分离,你直接输出了,那只能起到缓存的作用不能算是分离了。
作者: 萤火虫 发布时间: 2007-02-07
作者: qingis 发布时间: 2007-02-07
因为公司的美工不懂PHP,要是用PHP做模版的话,我看很难配合起来.
作者: chenguomin 发布时间: 2007-02-07
作者: weicanhuang 发布时间: 2007-02-08
作者: wind840619 发布时间: 2007-02-08
请尊重别人的劳动成果!
不要恶言重伤,它的存在必定有他的理由
你不使用或者不愿意使用就别给别人造成不好的印象!
我对你的品德表示怀疑!
作者: liuxingyuyuni 发布时间: 2007-02-09
“对于一个争论,如果双方都很明确自己在说什么,而争论又持续了很长时间没有结果,那么最好的办法就是投硬币决定谁说的算。”
这个幽默的说法是在《OOD启思录》中看到的,我觉得很有趣,呵呵。没有谁对谁错,把自己认为对的坚持到底就可以了,不要去浪费时间去说服一个观点跟你对立的人。也许哪天不用你来说服,对方自然会改变立场。
大家还是多讨论点有技术含量的话题吧。
(PS:不过本人还是赞成用模板,可能是因为我编程风格倾向与面向对象范型,我喜欢模块化强,结构严谨的代码)
这个帖子,没必要再讨论下去拉。。。:)
作者: 玉面修罗 发布时间: 2007-02-09
真正的“分离”还是.net吧
不懂
作者: redmangame 发布时间: 2007-02-10
作者: leehui1983 发布时间: 2007-02-10
作者: 小陈 发布时间: 2007-02-10
作者: chinakr 发布时间: 2007-02-10
http://www.diyinfo.com.cn/discuz ... &extra=page%3D1
立此存照
作者: chinakr 发布时间: 2007-02-10
作者: soone 发布时间: 2007-02-10
现在的所谓美工真是没素质
作者: 编程骇客 发布时间: 2007-02-10
引用:
原帖由 编程骇客 于 2007-2-10 23:28 发表美工看到模板引擎跟傻子看见大便一样,当大饼来吃。
现在的所谓美工真是没素质
作者: cator 发布时间: 2007-02-11
作者: yang286 发布时间: 2007-02-11
<{$sData}>
理念上区别很大,实际区别不大...
作者: fnet 发布时间: 2007-02-12
一个class完成某个功能,下次同样的功能只需要修改布局(html,css立即完成)
php代码没有太多输出html,代码更容易让别人读懂。
作者: 我要读书网 发布时间: 2007-02-15
开始俺也是楼主观点,后来。。。。。
没有模版,升级和维护很困难的,多人协作更是困难
作者: drpython 发布时间: 2007-02-26
<?=$var?>和{$var}对美工来说没有什么区别吧!
我现在基本上都是采用类似ZF的VIEW来实现美工和程序的分离。:D
作者: feifengxlq 发布时间: 2007-02-26
作者: 非典型菜鸟 发布时间: 2007-02-26
引用:
原帖由 cator 于 2007-2-27 10:31 发表偶们都是民工,IT民工
不过标哥已经晋升为工头了;P
作者: cator 发布时间: 2007-02-27
有人愿意用,他们能说出自己的理由,而且也合理
有人不愿意用,他们还是能说出自己的理由。
作者: tqjs 发布时间: 2007-03-12
引用:
原帖由 tqjs 于 2007-3-12 11:09 发表:lol
不过标哥已经晋升为工头了;P
作者: 玉面修罗 发布时间: 2007-03-12
作者: cator 发布时间: 2007-03-12
引用:
原帖由 mzt 于 2007-2-4 12:11 发表如果不使用模板,而直接使用php,那么如果美工在其中放上了一些不良代码,你就惨了。
作者: linuxroot 发布时间: 2007-03-20
引用:
原帖由 mzt 于 2007-2-4 12:11 发表如果不使用模板,而直接使用php,那么如果美工在其中放上了一些不良代码,你就惨了。
作者: wskzjx 发布时间: 2007-03-22
要真有人搞破坏,美工的危害性远比php程序员小的多。既然员工品行值得怀疑,那能说美工比程序员坏吗?
作者: wskzjx 发布时间: 2007-03-22
作者: qingmedia 发布时间: 2007-03-22
男人,可以没钱,可以不要脸,但不能没尊严!
欲望、贪婪? 还是勇敢、无畏?
我命由人不由天
我狂,单手起狂澜!
我怒,挥刀劈深谷!
我狠,指手破天痕。
天,你能奈我何!…
作者: skyjhz 发布时间: 2007-03-22
<A HREF="/" target=_self>�涵�</A>
<{foreach name=all_type item=single_type from=$web.type}>
<{if $single_type.parent_id == 0 && $single_type.id >5}>
| <A HREF="<{$single_type.url}>" target=_self><{$single_type.title}></A>
<{/if}>
<{/foreach}>
<{/strip}>
这样的模版语句真的让人无可奈何!
作者: skyjhz 发布时间: 2007-03-22
[ 本帖最后由 wolftooth 于 2007-3-26 15:56 编辑 ]
作者: h058 发布时间: 2007-03-23
作者: wolftooth 发布时间: 2007-03-26
引用:
原帖由 编程骇客 于 2007-2-10 23:28 发表美工看到模板引擎跟傻子看见大便一样,当大饼来吃。
现在的所谓美工真是没素质
对你的言论表示BS
作者: reed2003 发布时间: 2007-03-26
作者: 银子 发布时间: 2007-03-27
作者: wraith272 发布时间: 2007-04-14
等你做大项目的时候你就知道了 。
美工在页面里如果不小心动了你的代码,那可就是灾难。
而模板代码 可以在这个概念上成为美工和程序的粘和剂而不怕它改掉你的 核心代码。
还有,模板是技术 不是 语言 用php同样可以实现模板
作者: wraith272 发布时间: 2007-04-14
引用:
原帖由 weicanhuang 于 2007-2-8 09:32 发表每当美工说页面不爽要改,我就很郁闷,花上大半天陪着他调html很烦人,感觉像在干苦力。:Q
强力一顶力千斤。
作者: flappy 发布时间: 2007-04-16
引用:
原帖由 weiwei 于 2007-2-4 10:25 发表哈哈 ,我们这次开发项目,也是分成两派,一派不熟悉模板,坚决反对用,并举出很多理由(我开始属于这一边),另一派当然是要用模板,也举出很多理由 . 一个项目不可能分成两种开发模式吧.最后项目主管拍板:用模板.现在我 ...
PHP本身在双引号字符串中就有{$varname}的语法。但是不能直接在HTML中使用,得加上<?php ?>包裹起来。
[ 本帖最后由 PHP.Object 于 2007-4-17 01:21 编辑 ]
作者: 旭日 发布时间: 2007-04-16
引用:
原帖由 银子 于 2007-3-27 18:01 发表美工的活换你来干你也干不来,美工没素质,你有素质
对你的言论表示BS
作者: PHP.Object 发布时间: 2007-04-17
就算用模板,自己写
用smarty,我感觉侮辱了学php
作者: PHP.Object 发布时间: 2007-04-17
如果你写小的东东 我感觉模板就一个str_replace或preg_replace就能实现你所谓的模板.
如果你用smarty做过大系统或你仔细看过smarty的话,相信你会发现它的好的
smarty太大,但是也确实有用。只是不能一棒子打死。
作者: muqiao 发布时间: 2007-04-17
另外,smarty虽然强大,但也是用PHP写出来的,如果你真正MVC了,V应该也是直接用PHP,而不是其它用PHP封装过的东西
用过jsp的人可能有感觉,jsp仅仅是一个view层罢了,这跟用php本身作为View是一致的
作者: flappy 发布时间: 2007-04-17
说的好
大部分都是只看标题就回复的人
作者: 一地风飞 发布时间: 2007-04-17
引用:
原帖由 一地风飞 于 2007-4-17 09:42 发表本帖标题有点挑衅,所以,真正明白LZ在表达什么意思的人,10页的回复,相信最多不到1/5...
另外,smarty虽然强大,但也是用PHP写出来的,如果你真正MVC了,V应该也是直接用PHP,而不是其它用PHP封装过的东西
用过jsp的 ...
而不是工具性的。模板技术也只是个工具,就像adodb。你拿工具性的东西来说结构上的事。不合适吧。
标题说的意思是模板引擎没有存在的必要,所以应该讨论的是模板是否多余。
模板技术和mvc本身不冲突吧!
你不能有了mvc中其他的解决方案就否定模板本身,况且即使使用php来表现view。你敢说它就一定不用模板的分离的技术?
作者: bkkkd 发布时间: 2007-04-17
模板的分离技术,我不知道有没有用到。但分离技术一定有。
说什么工具性,结构性(不是计算机专业。没听过这样的名词)
其实都是为了方便人去理解。
什么mvc就是为了方便人去维护。
作为程序员应该明白,需要什么,才用什么。而不是盲目的跟从
作者: flappy 发布时间: 2007-04-17
引用:
原帖由 bkkkd 于 2007-4-17 14:14 发表php本身就是解析语言
模板的分离技术,我不知道有没有用到。但分离技术一定有。
说什么工具性,结构性(不是计算机专业。没听过这样的名词)
其实都是为了方便人去理解。
什么mvc就是为了方便人去维护。
...
模板引擎是做什么用的?
你也承认分离技术一定有,那是不是模板引擎。模板引擎是解决方案。而不单单指smarty phplib。。。
作者: bkkkd 发布时间: 2007-04-17



作者: flappy 发布时间: 2007-04-17
不好意思,表达不清楚,我说的是php一定使用了分离技术
php本身也可以算种模板
他的tag就是<??>
:o 其实这个问题真得没有必要讨论
功能实现了就行。
一年前在cu也有过这样的讨论,用什么都是程序员自己决定。
至于那个好那个不好,很难说
只能说各有用途
建议你去cu上找找相关的帖子
我个人觉得那个帖子的讨论比较好的分析了各自优劣特点
对专用名词了解不深。理解有误,别见怪
作者: goshawk 发布时间: 2007-04-17
用php也可以实现模板引擎。
不是每个地方都用到模板引擎。
但有的地方模板引擎肯定用到。
模板引擎实现形式不一样(比如说smarty、phplib、php语言本身)也是技术需求不一样而已。本身没有问题。全盘否定太武断了 。
作者: bkkkd 发布时间: 2007-04-17
怎么感觉是为了讨论而讨论的
嘻嘻
作者: flappy 发布时间: 2007-04-17
引用:
原帖由 flappy 于 2007-4-17 09:20 发表如果你写小的东东 我感觉模板就一个str_replace或preg_replace就能实现你所谓的模板.
什么意思??
作者: bkkkd 发布时间: 2007-04-17
作者: muqiao 发布时间: 2007-04-17
但有些项目是必须使用另外的模板语言,原因在于安全,而不在于效率什么的。
比如说我们开发一个多用户Blog系统,用户可以自己修改界面的模板,那么用PHP作为模板语言就不适合了,谁知道用户会加入什么代码呢? 但如果使用Smarty或其它模板语言,把直接调用PHP代码的功能关闭,就安全了。
使用PHP做模板的典型:Yahoo!
使用Smarty做模板的典型:Flickr
这两个站点都是超大型站点。
所以用不用模板,看实际项目需要。 对于用户没有修改模板权限的项目,完全可以直接用PHP做模板,只要注意不把业务逻辑混入表现层即可。
作者: flappy 发布时间: 2007-04-18
支持版主
作者: Haohappy 发布时间: 2007-04-18
作者: bkkkd 发布时间: 2007-04-18
引用:
原帖由 Haohappy 于 2007-4-18 09:50 发表业务逻辑和表面逻辑要分开,这一点不用说,大家都同意。大部份情况下是不需要使用另外一个模板语言的,PHP本身就可作为模板语言,这一点楼主说的没错。 像Ruby on Rails的模板,默认情况下(RHTML)也使用Ruby ...
作者: wolftooth 发布时间: 2007-04-19
引用:
我没有使用模版引擎的经验,前些时候赶时髦,试用了一把那个比较简单的SmartTemplate。初步尝试,感觉好像还不错,正如大家所说的,使用模版的初衷应该是看中它的所见所得,就打算用用它。可当我真正用在论坛程序上,发现有些矛盾,比如我用模版的目的之一是为了所谓界面“换皮肤”,因而模版的图片、css及其它路径都是用变量来输出的,这样模版的html文件号称“所见所得”的优势在找不到css和图片的情况下荡然无存――模版呈现出的界面简陋不完整。为了能看到真实的页面,又不得不把变量替换为字符,等调好程序后,再改回来。
在控制html代码的模版引擎语言方面,我感到其原理与php类似,不过还是要学,这对于我这样的php都不熟悉的人来说,又要熟悉额外一种新语言,真是累…有一点我始终怀疑,一个一点也不懂程序控制过程的人能独立制作出可用的模版,模版中的循环以及判断语法真的就比php的foreach / if更容易懂吗? <!--[endif]-->
后来我掂量了一下自己,像我这个论坛,只是一个小项目(如果还称得上“项目”的话),还是不弄这玩意儿,直接用php做模版得了,只是借鉴模版的某些思路,php程序只输出原始数据,数据的格式化由程序的预设值及php模版共同完成,把模版文件中的php代码量尽量降低,最多保留foreach / if这样的循环、判断语句。 <!--[endif]-->
终于,还是用回了php制作的模版…
作者: h058 发布时间: 2007-04-20
一开始:不用模板,也不会用
然后:学会用模板,开始用,到处用,赞美模板,说什么分离啦、适合大型项目啦,团队开发啦
最后:觉得模板纯粹是脱了裤子放屁,于是又不用了,自己弄个框架,include搞定
作者: h058 发布时间: 2007-04-25
作者: books 发布时间: 2007-05-21
引用:
原帖由 books 于 2007-5-21 15:17 发表一般来说,有过几年PHP经验的,都会这样:
一开始:不用模板,也不会用
然后:学会用模板,开始用,到处用,赞美模板,说什么分离啦、适合大型项目啦,团队开发啦
最后:觉得模板纯粹是脱了裤子放屁,于是又 ...
完概念的人特别多,别人说smarty、zf,就有一大堆人跟风,难道大家都是开发大型项目的:lol
作者: liu21st 发布时间: 2007-05-21
引用:
原帖由 h058 于 2007-3-23 22:03 发表�涵�
5}>
|
这样的模版语句真的让人无可奈何!
作者: 剑枫 发布时间: 2007-05-22
作者: 剑枫 发布时间: 2007-05-22
引用:
原帖由 剑枫 于 2007-5-22 10:24 发表:lol 这样的模板,简直是让美工学编程,反而更麻烦了
模版使用,最大优点是使其程序结构很清晰,不象把php写在html里,只能给增加阅读困难。
作者: mrzenix 发布时间: 2007-05-23
作者: 我要读书网 发布时间: 2007-05-23
模板,想用就用,不想用就不用。
原来公司逼着我在用,现在我当头了,奶奶的自己写个函数,用自己的,不用smarty了。
那些支持用的,说美工什么不习惯的,美工,在我这里定义是把图出好就行了。我发现phper真是很有通病,很多很多人写html简直可以用很差来形容,我说,您别自己不行,就要别人来做,写代码是一个美工应该做的事情吗?
美工既然是要写代码,那你们是不是也要做一做图啊?
我之前不会用smarty的时候,还以为它很神奇呢,还什么编译执行,我还真以为是C++的编译型的,最后自己真的用会了的时候看了看,真TM好笑(请原谅我的粗鲁)!什么编译型!不还是混编。
懒得说了,并不是一定要用smarty就mvc了,混编照样可以玩。
哎,这话题有点老,还是冲动了,扯了这么多。
作者: lshfong 发布时间: 2008-01-10
smarty 的优势在于 filter 和 filter 扩展,能在一定程度上解决难看的混杂问题
不过爱用不用,见仁见智,没什么好争论的
作者: why0813 发布时间: 2008-01-10
对于我来说,模版引擎smarty 是要根据自己的项目大小来决定,如果项目比较大,比如类似于taobao方面的,用smarty 等类似的模版引擎还是相当不错,但是对于我们真正在工作当中,操作比较大的项目毕竟是少数,这个时候,才有了大家在这里热烈讨论的机会.
对于小项目,我觉得可以使用或者不使用都行,主要是看跟你配合的人的美工人员的水平,这个概念我详细大家很好理解,对于中小型的项目,我建议大家可以使用TBS(小强摸版引擎),而且本人实际使用过,可能不算把TBS所有的功能用全,但是基本的功能,我觉得美工人员都是能接受的
其实,这些问题,就跟整天讨论使用那种编辑器一样, 其实说难听点,实在没有意义!
作者: slawdan 发布时间: 2008-01-10
模板不是为了美工,而是为了自己~~
为了美工只是顺便的
作者: andyzu 发布时间: 2008-01-10
作者: jongin 发布时间: 2008-01-10

作者: 温柔的大海 发布时间: 2008-01-10
作者: 4C[FANTASY] 发布时间: 2008-01-10
李四说, 用模板b;
王五说,不用模板;
某某说, 自己写一个模板。
不统一就开始了,一个项目组是需要一些规范的.
接下来一个人走了,需要进人。
什么样的人呢?会php就好?当然我们希望找一个从事多年大型开发的,但是各位好找吗?
进来以后,总要培训一下吧,怎么培训?如果标明用模板a做过项目优先(当然, 已经确定用模板a),人要好找的多, 给人力资源也他提出了明确的目标.
刚才有人说,不用模板的yahoo, 那他一定有程序规范来统一. 谁说了ebay的一个笑话, 中国ebay要改一个字体, 2个月都没改成/
楼主呢,我搜索了一下帖子, 水平自己认为不错, 工作好像不如意.
那就参与或组建一个open的项目,比如写一个轻量级的模板(只要包含自己认为有用的东西即可), 只要项目有些名气, 工作应该不成问题, 当然这样才不会使得自己的才能被埋没.
作者: yltgood 发布时间: 2008-01-23
引用:
原帖由 zgooger 于 2008-1-23 12:13 发表张三说, 用模板a;
李四说, 用模板b;
王五说,不用模板;
某某说, 自己写一个模板。
不统一就开始了,一个项目组是需要一些规范的.
接下来一个人走了,需要进人。
什么样的人呢?会php就好?当然我们希望找一个 ...
估计楼主说的是像PW那样的模板方法,实现了模板的功能和作用,却并不需要什么模板引擎!
作者: zgooger 发布时间: 2008-01-23

作者: fyland 发布时间: 2008-01-23
作者: 姜运涛 发布时间: 2008-01-23
作者: marvin 发布时间: 2008-01-24
引用:
原帖由 hobbs136 于 2007-2-5 09:08 发表美工会用smarty吗?每个模板不是我们程序员写的。
作者: solidluck 发布时间: 2008-01-25
引用:
原帖由 hobbs136 于 2007-2-5 09:08 发表美工会用smarty吗?每个模板不是我们程序员写的。
作者: Snake.Zero 发布时间: 2008-01-25
引用:
原帖由 玉面修罗 于 2007-2-9 23:39 发表我真的很不希望在PHPCHINA看到这样的讨论帖子。
“对于一个争论,如果双方都很明确自己在说什么,而争论又持续了很长时间没有结果,那么最好的办法就是投硬币决定谁说的算。”
这个幽默的说法是在《OOD启思录》中看 ...
作者: Snake.Zero 发布时间: 2008-01-25
引用:
原帖由 skyjhz 于 2007-3-22 13:43 发表反正我是不喜欢用别人的模板,还是喜欢自己慢慢写,心里舒畅,
男人,可以没钱,可以不要脸,但不能没尊严!
欲望、贪婪? 还是勇敢、无畏?
我命由人不由天
我狂,单手起狂澜!
我怒,挥刀劈深谷!
我狠,指 ...

作者: hxcan 发布时间: 2008-01-25
引用:
原帖由 why0813 于 2008-1-10 15:25 发表我靠这贴很火爆,我也得凑凑热闹。
模板,想用就用,不想用就不用。
原来公司逼着我在用,现在我当头了,奶奶的自己写个函数,用自己的,不用smarty了。
那些支持用的,说美工什么不习惯的,美工,在我这里 ...
作者: hxcan 发布时间: 2008-01-25
摸版用不用看需要吧。。。
不过我觉得系统的设计比较重要。。。约定好一些规范,开发起来问题相对少点。。。
感觉:重要还是在设计,设计。。。
作者: hxcan 发布时间: 2008-01-25
楼主并没有说不用模板,让逻辑和HTML混杂。而且说的很明确,一个文件是逻辑,一个文件是视图,中间一个include,我觉得这种方法很好,没必要再搬一个smarty(不知道拼对没有,从没用过)进来。
楼主奉承的观点是要用模板,只是用PHP本身来构建,并且并没有否定MVC中的VIEW层,我强烈同意并支持!!



作者: lmhllr 发布时间: 2008-01-26
作者: neuron 发布时间: 2008-01-28
作者: 大白菜芯 发布时间: 2008-01-29
如果没用过就说这些话......
作者: ct_174880859 发布时间: 2008-01-29
如果这个世界什么都可以按照自己的想法随意而为,那我们还制定一大堆所谓的标准做什么?用模板引擎就是因为它的通用性、标准性,它在团队协助开发中所起到的作用是显而易见的。
作者: 星野天河 发布时间: 2008-02-07
作者: 拎壶Dè公子 发布时间: 2008-02-13
毕竟PHP的功能要比SMARTY大。。。
而且用SMARTY还要学习SMARTY。。。
不过,模板写在第三方库上似乎是标准了
作者: fly_yang 发布时间: 2008-03-04


作者: willko 发布时间: 2008-03-04
一开始:不用模板,也不会用
然后:学会用模板,开始用,到处用,赞美模板,说什么分离啦、适合大型项目啦,团队开发啦
最后:觉得模板纯粹是脱了裤子放屁,于是又不用了,自己弄个框架,include搞定
作者: hipfish 发布时间: 2008-03-04
作者: hailin 发布时间: 2008-03-04
我们就没有使用模板引擎, 都是规定好模板页面的规范而已
但是在模板文件不是以文件存在, 而是存在数据库里的时候, 如何去解释这些标签, 也许这里更需要模板
作者: marvin 发布时间: 2008-03-04
还不如PHPer 在实践找到适合自己的引擎,适合项目的引擎吧!!!!
作者: edmond 发布时间: 2008-03-07
用php分离也一样,比如<?php echo $id;?>
有什么区别,引用写好的M层,用C层控制,至于V层写成TMDsmarty的{{{id}}}和php写的<?php echo $id;?>有tm屁差别。
支持楼主
作者: 大地MAC 发布时间: 2008-03-07
不用SMARTY你可能在 显示层来处理一些业务逻辑方面的东西。
这种东西多了,就对代码的重用,迁移,造成很大的影响。
当然本质上来说,用PHP输出也没啥。再再本质到低,不管啥语言,都是IF,WHILE,FOR.....
其实我认为,良好的设计模试才是最重要的。
SMARTY很好的给了我们这样一个便利。
开车怎么最舒服。想往哪开都行最舒服。
不过车多了,谁想怎么开就怎么开,那么就乱了。呵呵~~
[ 本帖最后由 wtfyygtpgf 于 2008-3-21 18:21 编辑 ]
作者: hobbs136 发布时间: 2008-03-08
如果你现在不会用smarty ,完全可以不用学它,用不用模板引擎跟符合不符合 MVC 模式,一点关系都没有
模板引擎用在view端,逻辑处理都已经在controller 端完成了,view 只是负责显示 从Model 取出来的经过 controller 处理的数据而已,一般的用的模板引擎也就是个变量替换的工作而已,把 <?php echo $var ?> 换成 {var} ,还有就是自定义一大堆什么时期、字符串函数,用它模板引擎自己的语法定义一套已经存在php标准函数的功能,这样做没有任何意义
再结合我做的大型php项目来看,php MVC完全可以扔掉 smarty这样的模板引擎,不用模板引擎的理由:
效率低下,echo $var 是最快的,模板最终输出的HTML都要经过 替换,显然比直接用php输出函数慢,至于说文件缓存什么的,用其他的方式也可以很容易实现
增加学习成本,smarty手册里有许多smarty定义的函数,这是画蛇添足之举,那些函数非php标准,一个模板引擎的功能无非就是 单个变量替换( echo() ),循环输出变量( while() foreach() ),引入其他模板( include ),简单的字符、时间计算等,这些只是涉及到变量表现形式并不涉及到逻辑结构,所有越简单越好

随便聊聊我的意见
作者: kulten1280 发布时间: 2008-03-20
作者: wtfyygtpgf 发布时间: 2008-03-21

作者: xiake 发布时间: 2008-03-22
smarty是php语言得扩展,引领一种规范,而且这种规范是好的,让更多得人能够去学习分离得思想,所以无论怎样,它作为一个新生事物,是有利于发展的,那么它就是好的,我很支持!
作者: luzhou 发布时间: 2008-03-22
作者: aksoft 发布时间: 2008-03-26
这不是脱裤子放屁吗??我为啥不把那缩进的几个空格写到HMTL里呢??
而且,看看smarty的体积,90多 个K吧,你一个页面才多大,超过90的没多少吧??
也许包含一个smarty比你页面的总执行时间还长,很有趣吗??
许多人把smarty当成一门语言来学,smarty像什么,独立于PHP之外的 一门编程语言???
他不还是要靠PHp才能运行,还不是得编译成PHP代码,有必要搞的这么复杂吗??有必要如此被神话吗??
模板引擎还是要用的,确实很方便,但是smarty这样的,大可不必考虑,要用就用一个轻量级的,或者自己写一个模板解析函数,就像DZ那样,简简单单,一K大小,性高能,又方便。能做的事情也不见得就比smarty少
作者: aiway 发布时间: 2008-03-27
作者: joedarkangel3 发布时间: 2008-04-03
DZ还不是一个函数就搞定了,2,3十行的代码吧。
DZ的模板解析函数,修改一下,就能成通用的了,拿来用,效果绝对比smarty好的多,
测试一下,include文件花费的时间你就知道了,我看过网上的一些关于smarty性能的测试。他们的测试没有将包含smarty本身的时间加进去,这根本没有任何意义。
smarty最大的缺点是他的体积庞大,而不是他的代码不优秀,功能不好用。
smarty应该跟DZ学一学,平时就运行一个函数,只有在需要解析模板时,才会将模板解析部分的代码动态包含进来。
smarty如果也这样,他的主文件无疑可以做的很小,也许只有几百个字节而已。他的性能底下问题无疑可以解决了。因为在网站建成以后,也许一年半载都不见得会再次解析一次模板,哪怕功能再多,效率再低下,都不是问题。没谁会隔3,5秒就更换一次模板
难道外国人都是死脑筋吗??还是他们对他们的服务器很有信心
期待高手修改smarty,让主文件只负责检测缓存是否过期,负责包含缓存文件。如果有这样的版本的话,我一定会投入smarty的怀抱,虽然smarty的功能我认为过于花哨,但是我不得不承认,不谈性能的话,他真的很强大。
作者: fhjr999 发布时间: 2008-04-26
smarty提到的文件缓存,就是一个HTML,PHP混杂的脚本,就跟你自己不使用模板引擎时写的没什么区别。
模板引擎会降低效率的地方在于,你需要先将你本来计算好,存在一个变量中的数据(DZ并不是这样的,DZ的主函数仅仅返回缓存文件的路径,使用的时候要用include包含主函数,DZ省略了这个将数据压入数组,再取出的消耗,DZ的这种模式感觉很适合一些专用的模板引擎,但是通用的不太合适,使用起来不够亲切,个人观点),压缩进一个数组,然后在编译好的缓存文件中输出时,是从数组中取值,这无疑要比你省略这个过程,在模板相应位置直接echo来的慢一些。
在一个列表页,一个列表仅仅需要传入一个查询结果的ID,其他需要传入的数据也不大,这点消耗算不得什么。在文章的内容页,内容比较多的话,消耗比较大一些,但通过一些小技巧,也完全可以仅仅传入一个文章的ID。
那为什么这么多人大呼smarty慢呢??那是因为我上面说的smarty的体积问题,90K的体积相对于一个普通页面来说,实在过于庞大了,呼吁高手将smarty的主函数,与他的解析函数分离开,这样,smarty绝对是一个传说级武器。
[ 本帖最后由 fhjr999 于 2008-4-26 15:14 编辑 ]
作者: sunningan 发布时间: 2008-04-26
你自己当然想怎么写就怎么写。。忽忽~
但是你拿出来发布当然要用模板系统了 还有团队开发 大的程式是需要协同开发的
难道不成你PHPER 和美工干一样的活?
作者: fhjr999 发布时间: 2008-04-26
作者: fhjr999 发布时间: 2008-04-26
作者: haierspi 发布时间: 2008-04-28
作者: 七月十五 发布时间: 2008-06-14
作者: 七月十五 发布时间: 2008-06-15
作者: wenfeng2 发布时间: 2008-06-15
引用:
原帖由 fhjr999 于 2008-6-15 21:32 发表十五兄,没必要这样吧,仁者见仁,智者见智,就我个人来说,我还是蛮喜欢模板引擎的,当然,不包括smarty
作者: 七月十五 发布时间: 2008-06-15
引用:
原帖由 fyland 于 2008-6-15 22:42 发表只能说明你还处于社会主义初级阶段!
作者: fhjr999 发布时间: 2008-06-15
作者: fyland 发布时间: 2008-06-15
引用:
原帖由 fhjr999 于 2008-6-16 08:55 发表呵呵,smarty那么流行,不是没有理由的。
就像window和linux一样。
作者: fhjr999 发布时间: 2008-06-16
作者: hjlice 发布时间: 2008-06-16
作者: fyland 发布时间: 2008-06-16
引用:
原帖由 pylong 于 2008-6-16 11:39 发表如果模板引擎是一个笑话的话,那么PHP本身就是一个笑话
这里讨论的“模板引擎”说的是类似于smarty这样的用PHP写的模板解析程序。看来楼上的连讨论的主题都没搞清楚啊!
作者: pylong 发布时间: 2008-06-16
作者: pylong 发布时间: 2008-06-16
谢谢, 毫秒经,水下,别介意
作者: fyland 发布时间: 2008-06-16
引用:
原帖由 fyland 于 2008-6-16 11:47 发表此话怎讲?
这里讨论的“模板引擎”说的是类似于smarty这样的用PHP写的模板解析程序。看来楼上的连讨论的主题都没搞清楚啊!
不过对于楼主的结论: 模板引擎简直就是一个大笑话
也不敢苟同
模板引擎,不是PHP特有的,但在PHP这门近乎有点奇迹的语言中存在是必然的。
作者: netbuddy 发布时间: 2008-06-16
作者: god123456 发布时间: 2008-06-16

作者: pylong 发布时间: 2008-06-17
作者: thaiki 发布时间: 2008-06-17
作者: fzm010 发布时间: 2008-06-17
you84.com 公交搜索网 -- 坐公车,巴士一下,你就知道 ;全国最强劲的公交搜索引擎,提供全国400多个城市的公交搜索,让你在最短的时间找到最佳的乘车方案.
作者: webcgo1 发布时间: 2008-06-20
引用:
原帖由 thaiki 于 2008-6-17 11:51 发表好早的帖子 被who 顶上来了 ??
作者: webcgo1 发布时间: 2008-06-20
从我的经历来讲,对于新手进入一个公司之后要能快速的完成任务,而且要敢想敢做。
我历来鄙视以资历论英雄的人。有些“高手”的经验已经根深蒂固,所以在我们招人的时候直接不要这种人。
作者: webcgo1 发布时间: 2008-06-20
引用:
原帖由 hobbs136 于 2008-6-20 16:33 发表我发这个帖子是有感于当初找工作时遇到的情况,一个垃圾的smarty让我直接不敢投简历(因为我不会)。
从我的经历来讲,对于新手进入一个公司之后要能快速的完成任务,而且要敢想敢做。
我历来鄙视以资历论英雄 ...
执着于smarty的我还不乐意去呢,肯定是个烂公司
作者: 七月十五 发布时间: 2008-06-20
引用:
原帖由 fyland 于 2008-6-16 11:25 发表流行只能说明满足初级用户的需求。因为初级程序远远远多于高手。尽管我也只是初级,但我明白这个简单的道理。
就像window和linux一样。
不知道这个初级,高级是怎么划分的,我玩游戏的话,哪个高级,哪个低级??
作者: hobbs136 发布时间: 2008-06-20
作者: slawdan 发布时间: 2008-06-20
等同于提升主题

http://bbs.phpchina.com/viewthre ... p;page=17#pid469427
作者: fhjr999 发布时间: 2008-06-24
引用:
原帖由 hobbs136 于 2007-2-4 09:28 发表昨日我在写一些代码,正好手头没有smarty,而且也不能上网,后来,我自己写了一个模板引擎。但是后来我又想起一句话,php本身就是一个模板语言。于是我便发现了这个笑话。
我可以直接将php输出语句写到html离,取出 ...



作者: pylong 发布时间: 2008-06-24
不是没有道理的。
像那些CMS,如果你让初级用户去学习编程,显然很难被他们接受。而将CMS内部的数据,列表等封装成标签,供用户去调用,就方便的多的多了。
作者: 七月十五 发布时间: 2008-06-24
作者: jianjin 发布时间: 2008-06-24
第一,你开发的时候使用还是不使用模板(你自己开发的模板引擎也算),如果你从来不使用的话,我真的怀疑你都做过什么项目。
第二,如果你使用模板引擎了就别说smarty不好,你自己开发的模板引擎比smarty还好?我相信你还没这样的水平,可能smarty里有我们用不到的,你可以对smarty稍作修改,更适合你的项目,当然也要有这样的实力才行。
最后,我们如果明白了这两点,关于smarty,还有什么需要争执的吗。
作者: fhjr999 发布时间: 2008-06-24
不过看很多人的留言怎么都不到点子上呢?
楼主的意思是php本身就是一个模板语言,其他的模板引擎都是多此一举。
打个不太恰当的比方:
你和李四是老乡,本来可以用同一种方言交流的。
现在你引入了 张三(也是你老乡,但是他跟你只说普通话)这么一个模板引擎。
现在好了,你得学普通话了(相当于学模板引擎标签)。然后用普通话跟张三说,然后张三再转达李四。
看起来是时髦了(多会了一门语言),但是效果好像没啥变化,效率还低了。
模板的用处在于 分离 业务逻辑 和 表现逻辑 而不是分离php代码和html代码。
依赖于程序员的设计和编码,在html中混用php代码同样可以分离 业务逻辑 和 表现逻辑。
从这点上来讲,我不需要写什么自己的一套模板引擎。
我们有现成的“php模板引擎”----即php解释程序本身。
只不过你使用了一种模板引擎的话 是带有一点强制性分离的味道。
当然对于一些安全问题,比如用户可以更改模板之类的应用,直接使用php就不如增加一层模板引擎安全了。
因为在模板引擎里面我们可以关闭一些用户不能使用的功能。
[ 本帖最后由 zyzzyva2007 于 2008-7-27 08:02 编辑 ]
作者: cqyd505 发布时间: 2008-06-25
引用:
原帖由 Ben 于 2007-2-4 14:29 发表月经帖~
写程序的都是比较顽固的,特别是这种没有对错的问题,总是争得面红耳赤,不知道发帖子别人回复是不是有积分啊,我也发了个关于模板的,居然沉下去了

作者: hand1573 发布时间: 2008-06-25

作者: zyzzyva2007 发布时间: 2008-07-27
作者: xhc0755 发布时间: 2010-12-22
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28