php代码和模版分离,PHP技术-实现一个最简单的模板分离

今天看到以前知乎上别人提问的关于模板和逻辑进行分离的问题。

一直都没有回答过。

今天终于回答了。我来记录以下:

首先是模板文件,我定义他为index.html,内容如下:

=$title?>

  • =$value?>

这里我们就不用自定义标签啊,之类的等等,我相信鸟哥的那句话,PHP本身就是一个非常好的模板引擎,我们没有必要再去造一个轮子。

所以,我们直接来写PHP的解析:

/**

* 模板解析

*/

class View{

protected $path;

protected $vars;

public function __construct($path, $vars = []){

if (is_file($path)) {

$this->path = $path;

}

$this->vars = $vars;

}

public function fetch(){

ob_start();

ob_implicit_flush(0);

extract($this->vars, EXTR_OVERWRITE);

require_once $this->path;

return ob_get_clean();

}

}

$view = new View('./index.html', ['title' => 'test', 'list' => ['a', 'b', 'c']]);

echo $view->fetch();

?>

好了。直接运行一下,就能看到结果了。

我的工作中的框架b2core,就是用的这个方法去实现的模板分离

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值