加载中...

模板引擎


内置模板引擎

视图的模板文件可以支持不同的解析规则,默认情况下无需手动初始化模板引擎。

可以通过下面的几种方式对模板引擎进行初始化。

配置文件

内置模板引擎的参数统一在配置目录的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进行解析。

如果你需要动态改变模板引擎的参数,请使用视图类提供的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,具体可以参考参考手册

另外还包括了一个twig模板引擎扩展:https://github.com/yunwuxin/think-twig


还没有评论.