top-think / framework

ThinkPHP Framework
http://www.thinkphp.cn
Other
2.72k stars 1.05k forks source link

关于trace调试窗口的疑问 #2973

Closed huihuangjiuai closed 7 months ago

huihuangjiuai commented 8 months ago

在controller中,输出数据如果用return string类型数据,就可以显示【调试窗口】。但是,如果使用return json(['a'=>1]),创建Response对象输出json格式数据的话,调试窗口就没了。目前用tp主要是写API,那么返回数据的格式基本是json,用不了【调试窗口】,很别扭的。想知道框架就是这么设计的,还是说这是一个bug。

big-dream commented 7 months ago

Trace 调试窗口会在原输出内容里追加 html 代码,return string类型数据时,对于\think\response\Html对象,即会显示 Trace。 但是 return json() 返回的是 json,追加 html 代码进去会破坏内容,故不显示 Trace 调试窗口。 结论:设计如此,不是 BUG

huihuangjiuai commented 6 months ago

多谢