接下来我们要做的便是,使用composer加载一个模板引擎。
首先还是一样在composer.json里加入
"twig/twig":"*"
然后执行我们的更新命令
composer update
然后我们只需要修改一下imooc.php中的display方法就可以了,
public function display($file)
{
$file = APP.'/views/'.$file;
// p($file);
//p($this->assign);exit();
if(is_file($file)){
//p($this->assign);exit();
\Twig_Autoloader::register();
$loader = new \Twig_Loader_Filesystem(APP.'/views');
$twig = new \Twig_Environment($loader,array(
'cache' => MVC.'/log/twig',
'debug' => DEBUG
));
$template = $twig->loadTemplate('index.html');
$template->display($this->assign?$this->assign:'');
}
}
这样我们的模板引擎就加载完成了,接下来我们便测试一下,我们首先在控制器中定义一个字符窜,
$data='Hello World';
然后我们通过一个方法暂存起来,
$this->assign('data',$data);
然后我们在通过display来显示这个文件。
$this->display('index.html);
完成之后我们来在视图新建一个布局页面 ,我们写一些简单的html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<content>
{% block content %}
{% endblock%}
</content>
<footer>footer</footer>
</body>
</html>
然后我们在其他视图进行页面书写的时候直接可以使用
{% extends "la.html"%}
{% block content %}
{{ data }}
{% endblock%}
然后我们的功能就都结束了 。