🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 内置模板引擎 视图的模板文件可以支持不同的解析规则,默认情况下无需手动初始化模板引擎。 可以通过下面的几种方式对模板引擎进行初始化。 ### 配置文件 内置模板引擎的参数统一在配置目录的`template.php`文件中配置,例如: ~~~ return [ // 模板引擎类型 支持 php think 支持扩展 'type' => 'Think', // 模板路径 'view_path' => './template/', // 模板后缀 'view_suffix' => 'html', // 模板文件名分隔符 'view_depr' => '/', // 模板引擎普通标签开始标记 'tpl_begin' => '{', // 模板引擎普通标签结束标记 'tpl_end' => '}', // 标签库标签开始标记 'taglib_begin' => '{', // 标签库标签结束标记 'taglib_end' => '}', ], ~~~ ### 视图根目录 视图文件的根目录默认情况下位于模块的`view`目录,每个模块的视图目录可以通过模板参数`view_path`自定义。 可以用`view_base`模板引擎参数定义全局的视图根目录,然后模块作为子目录。 ### 调用`engine`方法初始化 视图类也提供了`engine`方法对模板解析引擎进行初始化或者切换不同的模板引擎,例如: ~~~ <?php namespace app\index\controller; use think\Controller; class Index extends Controller { public function index() { // 使用内置PHP模板引擎渲染模板输出 return $this->engine('php')->fetch(); } } ~~~ 表示当前视图的模板文件使用原生php进行解析。 >[danger] 如果你需要动态改变模板引擎的参数,请使用视图类提供的`config`方法进行动态设置,而不要使用改变配置类参数的方式。 ~~~ <?php namespace app\index\controller; use think\Controller; class Index extends Controller { public function index() { // 改变当前操作的模板路径 $this->view->config('view_path', 'mypath'); return $this->fetch(); } } ~~~ ## 使用第三方模板引擎 官方扩展库中提供了一个类似于`angularjs`语法的模板引擎`think-angular`,具体可以参考[参考手册](https://www.kancloud.cn/shuai/php-angular)。 另外还包括了一个`twig`模板引擎扩展:https://github.com/yunwuxin/think-twig