# 模板渲染
[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參考文檔]([http://www.hmoore.net/manual/think-template/1286403](http://www.hmoore.net/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',
],
```