不用讨论,闭着眼选SmartTemplate就行。
现在在用,感觉很不错。
光那个if endif功能,就远超过其他无此功能的模板。可以让php脱离html存在。

解决方案 »

  1.   

    我用phplib。输出时保存为静态页。如果有改动刷新静态赠
      

  2.   

    N年前就说smartphp的好,好了,现在唠叨说好你就跟着上,你看过里面的代码吗?它是不是真的达到闭着眼睛就要选它的水平吗?它速度快吗?它很精巧吗?对比过其它模斑引擎吗?知道模板是干嘛吗?知道mvc的本质吗?在模版文件里出现if还说分离,你还说“可以让php脱离html存在”,实在高。
      

  3.   


    能实现SmartTemplate这种功能的模板不要太多,
    看看现在的SmartTemplate的官方站点,连网页的更新都没有了,几百年不变
      

  4.   

    呵 ,讨论还比较激烈。
    前两天稻草人兄发的一个新闻管理系统我看了,不大适合我的工程。
    我本来要选用SMARTY的,
    稻草人用的就是SMARTTEMPLATE。
    所以发帖来求证一下想让各位星星及使用模板技术开发过项目的各位大虾给出出主意,,感谢。另外,我有些顾虑。。SMARTY生成的临时文件如果太多,比如10000个用户,就是80000个临时文件,会不会对速度造成影响,如果我想用SMARTY生成静态页该怎么做呢?
      

  5.   

    我现在用的是PHPLIB里边的templates类。感觉还不错。现在做项目也是用它的。SmartTemplate听说b也不错,不过没有用过,好像是有缓冲机制什么的是吗?我也想知道两都有什么不同.洗耳恭听!
      

  6.   

    TO: twt326(天地小子)
    SMARTY 输出还是用到php代码。你可以看下它的缓存文件是什么样子的。
      

  7.   

    我原来在网上看到过一篇文章,详细比校过SMARTY和其它各流行模板之间的比较,那里面用了太多的专业工具和专业术语,我也没怎么看明白,但它数了十好几点SMARTY比其它模板技术更有优势之处。。而且SMARTY有很强大的模板语言,模板编写比其它的技术更加强大
    比如,可以修饰变量。FOREACH.  SECTION....IF..ENDIF 等等,,因此我现在左右为难TO: uuq(杜牧)
    SMARTY编译后的模板临时文件是这样的:%%0E^0E4^0E407559%%footer.tpl.php
      

  8.   

    Smarty是好,但是在我看来,它仍然是程序跟HTML混合,没有减轻美工和程序员的工作量!
    别说它如何神,能满足需求即可!
      

  9.   

    嗯 。。 diekiss(峯) 
    能具体说明一下吗?
      

  10.   

    偶只用过PHPLIB,感觉很不错啊。这个最简单了,用起来也特别爽!
    只有一个文件,研究起来也容易,要其它的扩展功能也有很多现成自带的,
    我推荐大家用PHPLIB,尤其是初学者。
      

  11.   

    http://blog.csdn.net/arcow/archive/2004/10/16/139250.aspx
      

  12.   

    TO: twt326(天地小子) 
    你打开
    %%0E^0E4^0E407559%%footer.tpl.php
    看看里面的内容
      

  13.   

    TO :  uuq(杜牧) 
    谢谢你
    SMARTY我早已经研究过了,,我在这里发帖只是想大家讨论一下,SMARTY和其它模板技术之间的优劣及是否适合我这个10000以上用户每用户8个模板页以上的工程(要求速度不能太慢)
    如果不适合应该选择哪种模板技术比较好。。还希望大家多多比较,多多提意见
      

  14.   

    TO:  arcow(冲星) 谢谢你提供的程序模板技术我会用,我需要做的项目远比这个复杂的多,如上所述,我是想大家帮我比较一下。。再次感谢
      

  15.   

    如果你的项目很大,建议不要用smarttemplate,其他的什么模板都可以。估计smarty应该适合做大的项目,个人没用过他,太繁。这个东西不适合(美工和程序员)协同工作。如果你是全能,推荐用这个东西。phplib,it, itx, 都可以。只是速度比前两个慢。
      

  16.   

    回复人: unixdotnet(byopen) ( ) 信誉:110  2004-11-11 20:42:00  得分: 0  
     
     
       N年前就说smartphp的好,好了,现在唠叨说好你就跟着上,你看过里面的代码吗?它是不是真的达到闭着眼睛就要选它的水平吗?它速度快吗?它很精巧吗?对比过其它模斑引擎吗?知道模板是干嘛吗?知道mvc的本质吗?在模版文件里出现if还说分离,你还说“可以让php脱离html存在”,实在高。
      
     
    汗颜。鄙人拙见。我说的话,也只是代表我个人的观点。并不一定是怎么高的。
    至于说模板方面,phplib和smarty也学过很多,但是都没有实用过,所以不知道它们的功能如何。但我觉得smarty至少是文件太多,phplib才一个模板文件呢。
    但是我没说它不好。确实是唠叨说好我就跟上,代码我也没详看,可以说我看不懂,不想看。我只在乎抓到老鼠的猫。
    我的php经验不多,甚至可以说是小儿科,很幼稚,我连一点成形的思想都没有,我所说的,只是个人经验。
    smartemplate是快是慢,我就不得而知了,不过记得以前看过一个比较,smarty最快smartemplate第二phplib第三。
    精不精巧,我觉得好用就行了吧。
    mvc本质在下孤陋寡闻,模板带上if它确实是更方便分离,这样有些判断处的html代码就不必要带在php中。我承认我的学识浅薄,也希望大家相互交流促进。
      

  17.   

    to  hahawen(变态的大龄青年) :为什么大项目不能用?有什么不足的地方吗?
      

  18.   

    用phplib,在生成html页面,我现在就这么用,很好的。
      

  19.   

    哦,,好多人推荐用PHPLIB哦。。哪位老兄能数数它的好处吗?为什么选它不选SMARTY?
      

  20.   

    偶就要模板有for、if两个功能。确实就能做到 “php脱离html存在。”
      

  21.   

    PHP中各种模板的优劣的确是存在的,但似乎并没有必要这么大张旗鼓的讨论Smarty 的整体构架是比较好的,但500k的尺寸让人有点不敢恭维
    smartemplate 就小巧多了,不过如果把全部能力都加上也有小200k了
    这两种都属于编译型的模板驱动,实际执行的是php和html混编代码。
    因此追求高速度当首推混编代码,有点离题了phplib template是解释型模板驱动的代表,在程序和界面分开这一点上做的较好。当然速度上要慢一点。应该说编译型的模板更有点象一种语言,引用模板驱动只是完成数据环境的准备。而界面的显示和控制都交给模板语言来完成
      

  22.   

    刚刚在我机器测试了一下
    用phplib 解析IBArticle 首页 平均在116ms左右
    用smartTemplate解析 平均在40ms左右
    个人认为选择模板能够满足自己需要就行了.
      

  23.   

    TO;ice_berg16(寻梦的稻草人)
    个人认为
    如果不是生成静态页者类似的
    smartTemplate 
    Smarty 两个都好
    因为他不用再查数据库了。
    phplib不同他是每次都查数据库然后再替换。
    如果你扩展下phplib完全可以达到smartTemplate效果。
    你所测试的情况是phplib 还要查数据库
    smartTemplate 第一次它会生成缓存文件。
    第二次不用了。
    所以时间会快点
      

  24.   

    不同意 uuq(杜牧) 的观点编译型的模板和解释型的模板的主要区别在于,前者只处理模板一次,而后者需要每次都处理模板
    能否缓存查询数据并不是主要问题,因为在很多情况下数据是频繁变化的
      

  25.   

    是的,smartTemplate同样也是需要查数据库的,
    所有的模板都不会缓存数据(当然,缓存html页面是另外一回事),
    只是不需要再次处理字符串的替换的问题.
      

  26.   

    回复人: chinaworker(网络混混) ( ) 信誉:97  2004-11-12 08:37:00  得分: 0  
     
     
       偶就要模板有for、if两个功能。确实就能做到 “php脱离html存在。”确实要这样才能分离。不知道phplib有没有。看看去。
      

  27.   

    哦,,那根据 xuzuning(唠叨)  老大的分析 的话,,我还是选用SMARTY好了,,只是,,我不知道SMARTY怎么生成静态网页,及网页中的各链接如何处理,比如像网易新闻之类的。。还望老大和各位高手给个说明,或是能给篇详细点的文章谢谢
      

  28.   

    我认为具体的情况具体操作,这样才能扬长避短。
    比如你如果做的是生成静态页面的文章或者新闻系统。
    就可以用smarty。一般生成的新闻内容不会再变了。
    如果你做的是内容频繁变化的系统应该用smartytemplate或者phplib之类的模板在加一个缓冲。
      

  29.   

    我说下我对模板的理解
    编译型的模板
      就是把模板编译成php文件。就是为什么模板里面有for、if,为什么第一次访问会很慢(因为要编译模板)。
      当我们给标签赋值时,并不是替换。我理解是:标签已经转为变量了。所以等于给变量赋值。
    解释型的模板
      只是把模板数据读到内存。但他还是字符串数据。
      当我们给标签赋值时。才是真正的字符串替换。时间就是耗在这些字符串查找和比较。正因为这样后来发展出来有Smarty,对于smartTemplate 我不是很清楚。 
    对于模板。数据比较少的。两者应该不相上下。
    因为phplib本身代码是10K。Smarty多少我就不知道,xuzuning(唠叨)说有500k
    大家都知道php是脚本语言。并不是二进制程序。
    每次执行都要读入内存分析语法。两都耗时我就不说了。对于phplib加上生成静态页的。
    我想应该比Smartyt和smartTemplate都要快。因为他不用包含那那么多代码。 
    当发现当前页没有静态页时。马上用phplib生成静态页。
    如果用Smartyt和smartTemplate再生成时。除了慢。还要每次携带他自身。
      

  30.   

    对于一般动态网站前面我说了
    ------------------------------
    如果不是生成静态页者类似的
    smartTemplate 
    Smarty 两个都好
      

  31.   

    如果真的很有必要,其实我认为XML是很好的选择~~~
    PHP生成的RESPONSE为XML格式,然后根据客户选择的模板选择不同的XSL解析XML,而这个过程放到了客户端去~~~也会更快~~~(前提是放弃兼容性)
      

  32.   

    xml也好,把压力推给了客户端。
      

  33.   

    csdn好像也是这样。不过不完全
      

  34.   

    可以根据项目的实现情况,自己开发一套,实际使用过程中发现的问题,也可以逐步修正。无论是phplib/smarty等,都是通用的代码,有特殊要求时,还是自己开发一个更适合。
      

  35.   

    我就自己写了一个,过几天把代码贴出来
    控制流程只用了for-each和if,
    外加个取值value-of和包含include
    用XSL的语法
    全解释形的,代码与呈现分离个人觉得smarty太繁了
    不适合我爱偷懒的个性
    phplib的方法名称实在叫人不爽
    嘿嘿
      

  36.   

    很热闹的说哦:)-------------------每个用户可以用独立的一套(8个以上的文件)模板,要请各位高手给个意见,并说明一下模板的优劣之处。谢谢!-------------------楼主说的这前后两个模板,好象不是一回事吧?前一个应该是给用户用的生成网页的模板版文件,后一个是使用使用哪一种PHP模版吧?个人觉得,楼主是要做一个自动生成网站的东西吧,(猜的),如果是这样,效率问题个人觉得
    到不是很重要,因为不可能会一下子有许多人同时生成网页.而应该考虑的是模版文件的使用
    跟美工的配合问题.也不知道猜的对是不对....呵.
      

  37.   

    呵呵,刀子就是快,,果然猜出来了我就是这个意思这一万个人都使用一个后台,,同时各自有各自单独存放文件的目录,比如说模板文件、图片等文件。看了大家的意见,我觉得还是用SMARTY好,,因为这个系统的访问量很大。用其它模板系统的话,恐会影响速度。现在有两个问题要询问,,
      1.如果产生80000个SMARTY编译的临时文件,浏览的速度会不会变慢。
      2.求SMARTY生成静态页的好文章
      

  38.   

    时间就是金钱!
    现在在用PHPLIB,当初没选SMARTY的原因就是要学的时间比PHPLIB要花费的多得多,而且在实际开发时要做的处理也相对复杂——这是时间成本。
    以后也有可能会用SMARTY,但那要等有空的时候。毕竟写程序是要赚钱的,花的时间越短越好,开发越便利越好。在我的观点,如果最终浏览速度不是在大单位数量级的差别的话,还是要开发便利性为先,反正现在的网站空间,除非专线专机,浏览得快不快并不单是程序的问题,更多是服务器的,线路的问题——就算程序再快,一条线、一台机N个网站一起用,"Hello World"也会要等上N分钟。
    所以,我的建议是,还未决定用什么模板系统的,先用上PHPLIB,先上手。在做出一、两个比较成熟的系统后,再在实用的基础上考虑用更“先进”的模板系统。
      

  39.   

    跑一下题,我偶然想到另外一个思路:完全采用css怎样?
    请各位指正
      

  40.   

    To i2346(oceanwave):错了,phplib更复杂,例如多维数组的显示,它用块的概念还要在多个循环了assign,简直搞笑死,根本没有开发便利性。To all:我的建议是用btemplate,它是用str_replace而不是像smarty等那样用正则,里面也有if功能,不过我不认同在模版里使用逻辑功能,所以我在btemplate原来精巧的基础上重新去掉没用的东西,加上了cache功能,经我测试smarty、smarttemplate可以去死了,当然btemplate没有提供什么include功能,但还是那句话,逻辑的功能是应该在.php文件里组织重用。最后是好是坏理应自己多方面多环境下测试使用,不要做马屁精、跟尾狗。