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 " ) ;
? >
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 " ) ;
? >
将html全部做成function输出
每页在相应的位置 require ,但是,只有都在同一个目录下才能正常,当然你想一下也是的。这样:
每一个目录下都必须有 header.htm,footer.htm,xxx.css几个文件。我目前就是这样用,对于一个不大的网站,好像也不是很麻烦。我也想用 phplib ,好像文档不多。 还是没有弄清楚到底怎么样用,况且,小的项目,好像也没有必要这么兴师动众。
<?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;
}
}
?>
上面星光推荐的《PHP4.x企业级Web应用与开发》算一本,还有么?