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

it2022-05-24  68

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

 

转载于:https://www.cnblogs.com/quanzhiguo/p/7363410.html

相关资源:Android MVC框架 网络封装

最新回复(0)