本文讲的是通过composer加载一个php模板引擎twig
在composer.json文件中的require项中加入”twig/twig”:”*”
然后去命令行执行命令
composer update
接着去imooc基类中修改display()方法:
public function display($file)
{
$files = APP.'/views/'.$file;
if(is_file($files))
{
\Twig_Autoloader::register();
$loader = new \Twig_Loader_Filesystem(APP.'/views');
$twig = new \Twig_Environment($loader, array(
'cache' => WTY.'/log/twig',//页面缓存
'debug' => DEBUG
));
$template = $twig->loadTemplate($file);
$template->display($this->assign?$this->assign:array());
}
}
控制器中调用视图文件的方法不变,在视图文件中我们从控制器中传过来的数据改为这种格式输出 :
{{$data}}
测试完后创建我们的布局页面layout.html
<html>
<body>
<header>
<div>这是头部</div>
</header>
<content>
{% block content %}
这儿是我们要放东西的地方
{% endblock %}
</content>
<footer>
<div>这是尾部</div>
</footer>
</body>
</html>
接下来让index.html去继承我们的布局页面
{% extends "layout.html" %}
{% block content %}
index
{% endblock %}