PHP模板技术初探

 

在我们使用PHP做网页的时候

希望美工和程序分离出来

而不是将PHP代码嵌入到HTML代码中

下面结合我在网上找的一些资料

(参见 http://blog.csdn.net/leedotnet/archive/2006/07/12/907895.aspx)

给个代码看看

我的工作添加了一个数组的模板导入函数

//希望对大家有用

//这里的template就相当于smart的template类

//index.php 模板类定义和数据初始化文件

<?php
class template
{
 var $content;

 function template($filename)
 {
 //加载文件
 //if(!file_exists($filename));
  $fs = fopen($filename,"r");
  $this -> content = fread($fs, filesize($filename));
  fclose($fs);
 }
 
 function repl($html_rep,$php_rep)
 {
 
  $this -> content = ereg_replace("/{".$html_rep."/}",$php_rep,$this -> content);
 } 
 
 //将变量名当做一个字符串传进来 根据字符串获取变量的值 并生产模板 
 function myrep($varname)
 {
  global $$varname;
  $php_rep=$$varname;
  $this -> content = ereg_replace("/{".$varname."/}",$php_rep,$this -> content);
 }
 
 function rep_array($array_data)
 {
  global $$array_data;
  $data=$$array_data;

  $num=count($data);
  for($i=0;$i<$num;$i++)
  {
   $php_rep=$data[$i];
   $this -> content = ereg_replace("/{".$array_data."/[$i/]"."/}",$php_rep,$this -> content);
  } 
 } 
 
 function out()
 {
  echo $this -> content;
 }
}//class

//使用方法
 $html = new template("show.html");
 //变量的写法
 // <title>{title}</title>
 //$html -> repl("subject","文字");//旧的方法
 //$html -> repl("content","内容");
 $list[]="1";
 $list[]="2";
 $list[]="3";
 $list[]="4";
 $title="文字";
 $data="内容";
 
 $html->rep_array("list");//导入数组
 $html->myrep("title");//导入变量

 $html->myrep("data"); 
 $html -> out();
?>

 

//show.html 模板文件 只有HTML代码

<html>
<head>
<title>{title}</title>
<body>
{data}
<br />
<ul>
<li>{list[0]}</li>
<li>{list[1]}</li>
<li>{list[2]}</li>
<li>{list[3]}</li>
</ul>
</body>
</head>
</html>

这样当我们浏览index.php的时候,就能够将INDEX.PHP的数据导入到模板文件show.html中显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值