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

时间:2015-07-08 08:59:23

标签: php

PHP streams功能中的两个关键概念是context options and parameters«选项»和«参数»有什么区别?

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

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

1 个答案:

答案 0 :(得分:2)

<强>更新

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

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

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

实际上你可以用stream_context_set_params()设置两个不同的参数:notification(如上所述)和(这可能是令人惊讶的)options这是一个关联包含可以使用stream_context_set_options()设置的选项的数组。

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