您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用CakePHP 3.4输出自定义HTTP正文内容?回声导致“无法发出标题”错误

如何使用CakePHP 3.4输出自定义HTTP正文内容?回声导致“无法发出标题”错误

控制器永远不要回显数据!回传数据会导致各种问题,从测试环境中无法识别的数据到无法发送的报头,甚至数据都被切断。

在CakePHP 2.x中这样做是错误的,即使它在某些甚至大多数情况下都可行。通过引入新的HTTP堆栈,CakePHP现在在回显响应之前显式检查发送的标头,并相应地触发错误

发送自定义输出的正确方法是配置并返回响应对象,或使用序列化视图,并且在3.x中仍然相同。

从文档引用:

控制器动作通常用于Controller::set()创建View用于渲染视图图层的上下文。由于CakePHP使用的约定,因此不需要手动创建和呈现视图。相反,一旦控制器动作完成,CakePHP将处理呈现和交付View。

如果出于某种原因您想跳过认行为,则可以Cake\Network\Response从具有完整创建的响应的操作中返回一个对象。

*从3.4开始\Cake\Http\Response

php 2022/1/1 18:18:57 有382人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶