视图实例化
最后更新于:2022-04-01 21:23:13
视图功能由`\think\View`类配合视图驱动(模板引擎)类一起完成,目前的内置模板引擎包含PHP原生模板和Think模板引擎。
因为新版的控制器可以无需继承任何的基础类,因此在控制器中如何使用视图取决于你怎么定义控制器。
## 继承`\think\Controller`类
如果你的控制器继承了`\think\Controller`类的话,则无需自己实例化视图类,可以直接调用控制器基础类封装的相关视图类的方法。
~~~
// 渲染模板输出
return $this->fetch('hello',['name'=>'thinkphp']);
~~~
下面的方法可以直接被调用:
|方法|说明|
|---|---|
|fetch|渲染模板输出|
|display|渲染内容输出|
|assign|模板变量赋值|
|engine|初始化模板引擎|
如果需要调用View类的其它方法,可以直接使用`$this->view` 对象:
## 助手函数
如果你只是需要渲染模板输出的话,可以使用系统提供的助手函数`view`,可以完成相同的功能:
~~~
return view('hello',['name'=>'thinkphp']);
~~~
助手函数调用格式:
>[info] ### view('[模板文件]'[,'模板变量(数组)'][,模板替换(数组)])
无论你是否继承`think\Controller`类,助手函数都可以使用,也是最方便的一种。
';