已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 讨论/求助

标题: [已解决]请教thinkphp使用fastcgi_finish_request的问题

作者: @Ta

时间: 2021-08-28发布,2021-08-29修改

点击: 3549

最近在用thinkphp写点小东西
然后有项目需要用到fastcgi_finish_request()继续执行一些东西
现在的问题就是return $this->fetch()之后肯定无法执行,但是又不能放在return前面
问问大佬们有什么方法能搞定

后来想了想,return直接换成echo也是可行的,不过大家别学我瞎写,哈哈
public function index()
{
    //代码片段....
    echo $this->fetch();//模板
   
    fastcgi_finish_request();
    //代码片段....
}

[隐藏样式|查看源码]


『回复列表(5|隐藏机器人聊天)』

1.

问题描述不清楚,无法回答。
需要对该描述做出具体解释:
return $this->fetch()之后肯定无法执行(为什么?),但是又不能放在return前面(为什么?)

(/@Ta/2021-08-28 23:05//)

2. @老虎会游泳,很明白呀
public function index($id=0)
{
    //代码片段....
    return $this->fetch();//模板
   // 如果我这时候使用fastcgi_finish_request,因为return之后,代码显然不会执行
    fastcgi_finish_request();
    //代码片段....
}


(/@Ta/2021-08-28 23:26//)

3. 这问题可是相当有难度啊。。

前面不能放 

又要放在 返回 函数之后

返回函数之后  后面的代码又无法执行,

无解。。。
(/@Ta/2021-08-28 23:19//)

4. 我之前看过view源码,执行fetch后,会new response,并且body会写入 模板文件的字符串,return 这个response 会执行 send()方法,方法里面就是echo body,你可以使用ob_get_* 方法来捕捉缓冲区内容
(/@Ta/2021-08-29 00:47//)

5.
用户被禁言,发言自动屏蔽。
(/@Ta/2021-08-29 07:20//
被禁言
)

回复需要登录

7月1日 06:57 星期二

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1