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框架已经完成了,接下开让我们做一个简单的增删改查来检验一下我们的框架功能!
欲后事如何请听下回分解......