【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}

 

posted @ 2023-05-19 16:47  下页、再停留  阅读(153)  评论(0编辑  收藏  举报