php程序模板,php 模板写法

/* @author: zhuyubing@gmail.com */

class Template{

var $code;

function Template($template){

$this->code = implode('', @file($template));

}

function assign($name,$var=null){

if(is_string($name) && is_string($var)){

$this->code = str_replace('{'.$name.'}', $var, $this->code);

} else if(is_array($var)){

list($this->code,$tmp,$end)=explode('',$this->code);

while(list(,$v)=each($var)){

$t=$tmp;$k2=$v2='';

while(list($k2, $v2) = each($v)){

$t = str_replace('{'.$k2.'}', $v2,$t);

}

$this->code .= $t;

}

$this->code .= $end;

} else {

while (list ($k2, $v2) = each($name)){

$this->code = str_replace('{'.$k2.'}', $v2, $this->code);

}

}

}

function display(){

echo $this->code;

}

}

?>

最简单的hello_world

准备一个php模版文件hello_world.html

{title}

{title}

接下来就是模版的翻译工作了

include('../include/template.php'); //包含模版核心类文件

$tpl=new Template('hello_world.html'); //参数为模版路径和文件名,可以使用相对路径,也可以使用绝对路径

$tpl->assign('title',"hello world!"); //将标签{title} 替换成hello world

$tpl->display();

?>

模版中使用数组

test_array.html

{user} {email}

{user1} {email1}

模版处理文件

include('../include/template.php');

$tpl=new Template('test_array.html');

$user=array('user'=>'yubing','email'=>'test@sina.com');

$tpl->assign($user);

$tpl->assign('user1','jack');

$tpl->assign('email1','zhuyubing@gmail.com');

$tpl->display();

?>

简单的区块处理

block.html

User NameE-Mail
{name}{email}

区块处理程序

block.php

include('../include/template.php');

$tpl=new Template('block.html');

$users=array(  array('name'=>'jack','email'=>'test@example.com'),  array('name'=>'tom','email'=>'tom@sina.com')  );   $tpl->assign('users',$users);$tpl->display();?>模版包含测试

{title}

{title}

   

{block}

模版包含处理程序<?phpinclude ('../include/template.php');$tpl=new Template('block.html');$users=array(array('name'=>'jack','email'=>'test@example.com'),array('name'=>'tom','email'=>'zhuyubing@gmail.com'),);$tpl->assign('users',$users);$block=$tpl->code;$tpl->Template('main.html');$tpl->assign('block',$block);$tpl->assign(array('title'=>'测试多模版文件'));$tpl->display();?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值