你想使用smarty估计为的是他功能强大,可是功能的强大是会降低你的系统性能的,俺还是觉得应该按需来做,毕竟smarty支持的那么多的东西不是都用的上的,简单的支持 变量替换,流程控制,循环输出控制  的小型的模板引擎就足够大部分的人使用了,而且小模板引擎容易把握.俺先前给一个商业网站做的时候就用的smarty引擎,但是后来还是改了.浪费!而且移植不便.有些linux系统好像不允许动态创建目录,这个时候smarty就没辙了.

解决方案 »

  1.   

    二楼说的完全不对哦。smarty提升了系统性能,怎么能说是降低了系统性能?(除非不使用cache)。
    smarty在会移植不变?
    不会哦?可可以不使用usedir,就不会再次创建目录了。都放在cache目录里就可以了啊。
      

  2.   

    你可以查一下ob_start系列函数。生成静态页面很方便的。
      

  3.   

    如果说生成静态页面楼主可以看看pear里面的cache,它会为每个html输出生成静态页面,楼主可以设置哪些情况下需要重新cache,哪些情况下只要输出以前的cache过的内容,同时它还可以设置cache过期时间,其实这个原理很简单,只是捕获了缓冲区输出,讲其存放到一个文件中,下次需要时再取出就可以了
      

  4.   

    你们可能都没明白我的意思。我的意思是理由smarty的cache里的文件,写个smarty插件或是其他什么样的处理,来批量生成整个网站的静态页面(即在访问的时候直接访问cache文件),不再经过php和smarty判断...有点象mod_rewrite。
      

  5.   

    明白你的意思了,smarty有个fetch()函数是生成html代码的,你只要建个文件,将html代码考进去就可以生成静态文档。这样很容易可以实现批量生成静态文件的功能
      

  6.   

    试了fetch,只输出了部分信息。
      

  7.   

    请详细看一下他的解析输出结果,加几句话就可以(我不懂smarty,只供参考)
      

  8.   

    呵呵,加几话是不可以的,最近在想这个问题。每个页面只维护其自己的静态页面,包括页内的超级连接。但同时用一种机制保证其生成的文件名和其他静态页面的连接是对应的。
    如果这样就可以批量生成静态网站。
    但我在处理的href的连接的时候遇到些preg问题。烦。没搞定。最近忙,过段时间再搞,相信我,这绝对是个可行的方法,不论是对个人还是企业。
    有兴趣的可以大家研究研究。