(PHP 5, PHP 7, PHP 8)
php_user_filter::filter — 应用过滤器时调用
in
in
是指向包含一个或多个包含要过滤数据的 bucket
对象的 bucket brigade
的资源。
out
out
是指向第二个 bucket brigade
的资源,您应该将修改后的 bucket 放入其中。
consumed
consumed
必须始终通过引用声明,应通过过滤器读取和更改的数据长度增加。在大多数情况下,这意味着您会为每个 $bucket
将 consumed
增加 $bucket->datalen
。
closing
如果流正在关闭(因此这是最后一次通过过滤器链),则 closing
参数将设置为 true
。
filter() 方法在完成时必须返回三个值之一。
返回值 | 含义 |
---|---|
PSFS_PASS_ON |
过滤器成功处理,数据在 out bucket brigade 中可用。 |
PSFS_FEED_ME |
过滤器成功处理,但是没有可返回的数据。需要从流或之前的过滤器获取更多数据。 |
PSFS_ERR_FATAL (默认) |
过滤器遇到不可恢复的错误,无法继续。 |