PHP流:选项和参数之间的差异

PHP streams功能中的两个关键概念是
context options and parameters.«option»和«parameter»有什么区别?

Documentation about the former相当简单.似乎一个选项是协议特定的设置,例如如果在MongoDB中使用HTTP或“在插入文档时调用回调函数”,则“方法”(get,post,put …).

那么什么是参数? stream_context_set_params() manual page包含对支持参数的稀疏引用,即“通知”和“选项”(选项??). Context parameters页面只提到了“通知”,好像他们对PHP / 4.3.0发布时的未来有很好的计划,但他们从未开花过.

最佳答案 更新:

我做了一些研究,发现代码真的很旧,它是由commit e1d0a1479引入的,并且从那时起保持或多或少不变. (2003年4月10日)

这段代码的作者是Wez Furlong.我会问他,因为我担心没有人能提供更好的答案. (在github找到他的电子邮件地址)

IMHO参数(there is only one atm)可用于所有上下文包装器,其中选项特定于某种类型的包装器.

实际上,您可以使用stream_context_set_params()设置两个不同的参数:notification(如上所述)和(这可能是令人惊讶的)选项,这是一个assoc数组,其中的选项也可以使用stream_context_set_options()设置.

看起来stream_context_set_params()函数是一个更通用的尝试,但是我仍然没有完全获得该概念的优势..需要查看代码和提交历史.

点赞