如何封装一个自己的mvc框架(七)

来源:互联网 发布:淘宝购物车流程图 编辑:程序博客网 时间:2024/05/19 19:57

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框架已经完成了,接下开让我们做一个简单的增删改查来检验一下我们的框架功能!


欲后事如何请听下回分解......

0 0