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