这更像是一个理论问题,因为我想实现一种方法来处理需要使用转换为 json 的大型对象数组,json_encode
并且我想避免将整个结果数组放在内存中以转换整个事物(它可以导致内存问题)。
我想要做的是有一个 PSR-7 主体流,它在内部(以某种方式)一次获取、转换和输出一个结果。这样做的问题是我事先不知道最终的回应Content-Length
。
有人遇到过同样的问题吗?如何计算/添加该标头而不将其代理到将添加/修复Content-Length
标头的中间服务?谢谢
更新 可能的解决方案:分块响应。
我想我找到了一个可能的解决方案,它正在使用分块响应。我仍然需要弄清楚如何将它与 JSON 响应一起使用,以及 API 客户端应该更改哪些内容以支持它们。
无论如何,如果有人遇到同样的问题并且有 PSR-7 兼容的解决方案,我想知道这一点。