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

  • 相关阅读:
    hdu 1754 线段树 注意线段树节点的设计 求什么,设什么
    hdu 4015 概率题
    poj 1950 回溯
    最大上升子序列
    JVM学习博客
    2012
    i am alone at a crossroads
    易知难
    牢骚。。
    something
  • 原文地址:https://www.cnblogs.com/quanzhiguo/p/7363410.html
Copyright © 2020-2023  润新知