怎样封装一个自己的mvc框架(七)

mvc框架封装到了最后一步,我们需要引入一个模板引擎twig

同样修改composer文件,在require中加入一行

 

"twig/twig":"*"

 

然后命令行输入

composer update

 

这样就加载了twig引擎

我们可以打开http://twig.sensiolabs.org/doc/api.html网站查看手册

 

twig模板引擎最优秀的一点就是模板的套用

首先我们在核心文件中写一个方法实例化模板引擎

  

  //视图层显示方法
    public function view()
    {
        //实例化模板引擎
        \Twig_Autoloader::register();

        $loader = new \Twig_Loader_Filesystem(APP."/views");
        $twig = new \Twig_Environment($loader, array(
            'cache' => ROOT.'/log/twig',
            'debug'=>DEBUG
        ));
        return $twig;
    }

 

之前的assign和display方法可以去掉了

我们现在在控制器中调用的时候只需要

    public function index(){
        $data="It is work!";
        //$title="这是视图文件";
        $view=$this->view();
        echo $view->render('index/index.html',['data'=>$data]);
    }

即可显示视图文件并传值

然后在模板文件中

<h3>{{ data }}</h3>

即可输出变量

 

刚才也说了,twig引擎最出色的是模板的套用

我们首先创建一个layout.html文件

<!doctype html> 
<html> 
<head> 
  <meta charset="utf-8"> 
  <title></title> 
</head>
<body>

{% block content %}
<!--  这里是内容    -->
{% endblock %}

</body>

</html>

 

 

然后在其他的视图中我们只需要这样写

{% extends "layout.PHP" %}
{% block content %}

<h3>{{ data }}</h3>

{% endblock %}

 

即可套入

 

是不是很方便?现在我们的一个简易的mvc框架已经完成了,接下开让我们做一个简单的增删改查来检验一下我们的框架功能!

 

posted @ 2017-08-15 09:40  QuanZhiGuo的博客  阅读(280)  评论(0编辑  收藏  举报