【ThinkPHP6系列学习-3】模板渲染
视图功能由 \think\View 类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎(主要用于内置的异常页面输出),如果需要使用其它的模板引擎需要单独安装相应的模板引擎扩展。
视图相关的配置在配置目录的 view.php 配置文件中进行定义。
通常可以直接使用 think\facade\View 来操作视图。
一、下载依赖库
如果你需要使用 think-template 模板引擎,只需要安装 think-view 模板引擎驱动。
composer require topthink/think-view
二、控制器引用类文件
引用View类,用来给模板赋值并渲染模板
use think\facade\View;
三、分配变量
因为TP6取消了 \think\Controller类,所以只能使用引用View类,并通过类名::方法名的形式给模板赋值。
// 模板变量赋值 View::assign('name','ThinkPHP'); View::assign('email','thinkphp@qq.com'); // 或者批量赋值 View::assign([ 'name' => 'ThinkPHP', 'email' => 'thinkphp@qq.com' });
四、模板渲染
模板渲染同样使用类名::方法名,需要引入View类;也可以直接使用view助手函数,使用助手函数不需要引入View类。
// 模板输出 return View::fetch('index'); // 或者使用助手函数 return view('index');
五、完整代码
控制器
<?php declare (strict_types = 1); namespace app\index\controller; use think\Request; use think\facade\View; class Index { /** * 显示资源列表 * * @return \think\Response */ public function index() { // 模板变量赋值 View::assign('name','ThinkPHP6'); View::assign('email','thinkphp@qq.com'); // 模板输出 return View::fetch('index'); } }
前端
这是index.html<br> name:{$name}<br/> email:{$email}
——现在的努力,只为小时候吹过的牛逼! ——