PHP Conference Japan 2024

php_user_filter::filter

(PHP 5, PHP 7, PHP 8)

php_user_filter::filter应用过滤器时调用

描述

public php_user_filter::filter(
    资源 $in,
    资源 $out,
    整数 &$consumed,
    布尔值 $closing
): 整数

每当从附加的流读取或写入数据时(例如使用 fread()fwrite())都会调用此方法。

参数

in

in 是一个指向 桶队列 的资源,该队列包含一个或多个包含要过滤数据的 对象。

out

out 是一个指向第二个 桶队列 的资源,您修改后的桶应放置到其中。

consumed

consumed 必须始终通过引用声明,应根据过滤器读取和更改的数据长度递增。在大多数情况下,这意味着您将为每个 $bucketconsumed 递增 $bucket->datalen

closing

如果流正在关闭(因此这是通过过滤器链的最后一次传递),则 closing 参数将设置为 true

返回值

filter() 方法必须在完成时返回三个值之一。

返回值 含义
PSFS_PASS_ON 过滤器处理成功,数据存在于 out 桶队列 中。
PSFS_FEED_ME 过滤器处理成功,但是没有可返回的数据。需要从流或之前的过滤器获取更多数据。
PSFS_ERR_FATAL (默认) 过滤器遇到不可恢复的错误,无法继续。

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top