php开发中很流行的类库,phplib,很好用的,我用它的模板类分离php代码和html文件,db类简化数据库操作,举个简单的例子,详细的找本书看,如《PHP4.x企业级Web应用与开发》
test.html
< h t m l >
< h e a d >
< t i t l e >使用模板的测试< / t i t l e >
< / h e a d >
< b o d y >
< h 2 >这是一个使用模板的测试文件!< / h 2 >
当前的时间是{ c u r r e n t t i m e } !
< / b o d y >
< / h t m l >test.php
< ?
/ /引入T e m p l a t e类
i n c l u d e ( " t e m p l a t e . i n c " ) ;
$timeNow = date("Y-m-d H:i:s",time());
/ /实例化一个T e m p l a t e类
$template = new Template();
/ /载入t e s t . i h t m l模板
$ t e m p l a t e - > s e t _ f i l e ( " h a n d l e 1 " , " t e s t . h t m l " ) ;
/ /使用$ t e m e N o w的值替换模板中的c u r r e n t t i m e
$ t e m p l a t e - > s e t _ v a r ( " c u r r e n t t i m e " , $ t i m e N o w ) ;
/ /进行实际的模板操作
$ t e m p l a t e - > p a r s e ( " o u t p u t " , " h a n d l e 1 " ) ;
/ /输出最后结果
$ t e m p l a t e - > p ( " o u t p u t " ) ;
? >

解决方案 »

  1.   

    PHPLIB类确实很方便,不过就速度而言,不是很让人满意。如果要设计论坛,基本上没有人用它的。对于B/S开发,这个应该是不错的选择。
      

  2.   


    将html全部做成function输出
      

  3.   

    从便于调试及制作的角度,我主张利用 javascript 做中介者,不仅结构清晰,便于调试和观察效果,而且有利于提高浏览速度具体做法,将页面的相对稳定的部分直接用 HTML 实现,需要变化的部分以 javascript 变量实现并放在单独的 *.js 文件中,PHP 程序只输出不同的 *.js 文件,便实现不同的页面(此时,HTML 文件相当于模板,*.js 文件相当于参数)
      

  4.   

    关注希望大家能继续探讨。我用 PHP + dwMX,先准许用DWMX的模板,后来发现,加了PHP的好像用HTML的模板不太方便。我干脆只用 PHP require:这样就出现如下的问题: 如我有 header.htm , footer.htm ,还有 xxx.css
    每页在相应的位置 require ,但是,只有都在同一个目录下才能正常,当然你想一下也是的。这样:
    每一个目录下都必须有 header.htm,footer.htm,xxx.css几个文件。我目前就是这样用,对于一个不大的网站,好像也不是很麻烦。我也想用 phplib ,好像文档不多。 还是没有弄清楚到底怎么样用,况且,小的项目,好像也没有必要这么兴师动众。
      

  5.   

    自己做一个模板类就可以了
    <?phpclass template
    {
    var $_template;

    function template($tpl_filename){
    if(file_exists($tpl_filename))
    $this->_template = implode("",file($tpl_filename));
    else $this->_template = "no template body";
    }
    function show(){
    echo $this->getBody();
    }
    function getBody(){
    return $this->_template;
    }
    function assignItem($tpl_item,$content)
    {
    $this->_template = str_replace("{".$tpl_item."}",$content,$this->_template);
    }
    function assign($array){
    while(list($tpl_item,$content)=each($array))
    $this->assignItem($tpl_item,$content);
    }
    function setTemplate($tpl)
    {
    $this->_template = $tpl;
    }
    }
    ?>
      

  6.   

    楼上的,你的模板类并没有phplib中重复多次输出block的功能哦,这点对于模板类来说可是很重要的。在做留言簿时,block会很方便。
      

  7.   

    我觉得最优化的方法是使用xml,效率绝对是最高的,可以达到phplib模板的所有优点,但是比使用phplib的模板效率高太多了,缺点是现在懂xml的人少,没有html流行
      

  8.   

    我看,大家要是能推荐几本有这种例子的书也不错!
    上面星光推荐的《PHP4.x企业级Web应用与开发》算一本,还有么?
      

  9.   

    楼上的楼上:赞同xml做法。用xml简直就是一劳永逸,而且,其实学起来根本不难,难在大家是否愿意放弃现有的东东啊,呵呵
      

  10.   

    用生成xml数据文件,转换用xslt