# 模板渲染
[TOC]
模板引擎支持blade smarty think 三种模板引擎,系统默认安装啦think和blade两种模板引擎,smarty驱动已经内置,但smarty依赖并没有安装(包有点大),如需要使用只需要安装这件事即可使用,详细语法请
[Blade6.x参考文档]([https://laravel.com/docs/6.x/blade](https://laravel.com/docs/6.x/blade))
[Think2.x参考文档]([https://www.kancloud.cn/manual/think-template/1286403](https://www.kancloud.cn/manual/think-template/1286403))
[Smarty3.x参考文档](https://www.smarty.net/docs/zh_CN/)
下面是一个最典型的用法,不带任何参数:
~~~ php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function index()
{
// 不带任何参数 自动定位当前操作的模板文件
return $this->fetch();
}
}
~~~
视图目录会自动定位,自动检测当前请求控制器所在目录的上级目录中是否有views目录,以此规则遍历当前控制器所有父类
模板目录结构为,**views/模块/[主题]/控制器/操作** 目录和文件名都为小写,主题字段如果配置为空,则可以省略
特殊情况下可以在模板配置项中添加自己模板的路径,**view_path**
``` php
'template' => [
// 'type' => \ank\driver\view\Think::class,
// 'type' => \ank\driver\view\Smarty::class,
'type' => \ank\driver\view\Blade::class,
//模板目录名字
'view_dir' => 'views',
// 模板额外的路径,不用加后面的views
// 因为视图路径是根据控制器子级到父级的位置自动定位的,如果有定位不到的路径可以在下面添加
'view_path' => [],
// 模板后缀
'view_suffix' => 'html',
// 标签库标签开始标记
'tag_begin' => '{',
// 标签库标签结束标记
'tag_end' => '}',
// 是否去除模板文件里面的html空格与换行
'strip_space' => true,
//根目录为运行时路径
'cache_path' => '/tplcache',
],
```