thinkphp中->fetch()如何使用

发布网友 发布时间:2022-04-20 09:49

我来回答

3个回答

懂视网 时间:2022-04-28 08:27

下面由thinkphp框架教程栏目给大家介绍TP5在控制器中view和fetch两种方法的区别,希望对需要的朋友有所帮助!

TP5 在控制器中view和fetch两种方法的区别

在controller里面,两种方法异同

控制器中,模板三种渲染方法,配置显示不一样。

//不继承controller
$view = new view();
return $view->fetch('index/demo');
//不继承controller
return view('index/demo');
//继承controller
return $this->fetch('index/demo');

后两种能输出公共配置的,tpl_replace_string,比如__CSS__,模板里能输出路径,第一种,模板里直接输出__CSS__字符串

项目中,尽量用 后两种

写法,或者继承controller,this->fetch

或者用view方法

new view();

但是这种不能读公共配置文件,需要自己设置参数,实例化对象之后,传参进去,比如这么写

企业微信截图_15991125942677.png

热心网友 时间:2022-04-28 05:35

模板文件的调用方法和display方法完全一样,区别就在于fetch方法渲染后不是直接输出,而是返回渲染后的内容,例如:

$content = $this->fetch('Member:edit');

就是拿到Member 下edit的模板进行渲染。好比公共的模板一样的,多次地方调用可以采用fetch方法

望采纳 Thx

热心网友 时间:2022-04-28 06:53

有些时候我们不想直接输出模板内容,而是希望对内容再进行一些处理后输出,

就可以使用fetch方法来获取解析后的模板内容,在Action类里面使用:

$content = $this->fetch();

fetch的参数用法和Display方法基本一致,也可以使用:

$content = $this->fetch('Member:read');

区别就在于display方法直接输出模板文件渲染后的内容,而fetch方法是返回模板文件渲染后的内容。

如何对返回的结果content进行处理,完全由开发人员自行决定了。

这是模板替换的另外一种高级方式,比较灵活,而且不需要通过配置的方式。

注意,fetch方法仍然会执行上面的模板替换操作。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com