企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 使用`thinkTemplate`模板引擎 新版框架默认只能支持PHP原生模板,如果需要使用`thinkTemplate`模板引擎,需要安装`think-view`扩展(该扩展会自动安装`think-template`依赖库)。 ~~~ composer require topthink/think-view ~~~ thinkTemplate是基于XML和标签库的编译型模板引擎 ~~~php <?php namespace think; require __DIR__.'/vendor/autoload.php'; // 设置模板引擎参数 $config = [ 'view_path' => './template/', 'cache_path' => './runtime/', 'view_suffix' => 'html', ]; $template = new Template($config); // 模板变量赋值 $template->assign(['name' => 'think']); // 读取模板文件渲染输出 $template->fetch('index'); // 完整模板文件渲染 $template->fetch('./template/test.php'); // 渲染内容输出 $template->display($content); ~~~ 支持静态调用 ~~~ use think\facade\Template; Template::config([ 'view_path' => './template/', 'cache_path' => './runtime/', 'view_suffix' => 'html', ]); Template::assign(['name' => 'think']); Template::fetch('index',['name' => 'think']); Template::display($content,['name' => 'think']); ~~~ ### **配置文件** tp中使用thinkTemplate模板引擎则需要在安装完成后,在配置目录的`view.php`文件中进行模板引擎相关参数的配置,例如: ~~~ return [ // 模板引擎类型 'type' => 'Think', // 模板路径 'view_path' => './template/', // 模板后缀 'view_suffix' => 'html', // 模板文件名分隔符 'view_depr' => '/', // 模板引擎普通标签开始标记 'tpl_begin' => '{', // 模板引擎普通标签结束标记 'tpl_end' => '}', // 标签库标签开始标记 'taglib_begin' => '{', // 标签库标签结束标记 'taglib_end' => '}', ]; ~~~ >[danger]最原始的配置在vendor\topthink\think-template\src\Template.php: ### 调用`engine`方法初始化 视图类也提供了`engine`方法对模板解析引擎进行初始化或者切换不同的模板引擎,例如: ~~~ <?php namespace app\index\controller; use think\facade\View; class Index { public function index() { // 使用内置PHP模板引擎渲染模板输出 return View::engine('php')->fetch(); } } ~~~ 表示当前视图的模板文件使用原生php进行解析。 > 如果你需要动态改变模板引擎的参数,请使用视图类提供的`config`方法进行动态设置,而不要使用改变配置类参数的方式。 ~~~ <?php namespace app\index\controller; use think\facade\View; class Index { public function index() { // 改变当前操作的模板路径 View::config(['view_path' => 'mypath']); return View::fetch(); } } ~~~ 关于模板引擎的标签用法,可以[参考这里](https://www.kancloud.cn/manual/think-template/content)。