# php_user_filter::filter

(PHP 5, PHP 7, PHP 8)

php_user_filter::filter — Called when applying the filter

### 说明

public php_user_filter::filter(
resource `$in`,
resource `$out`,
int `&$consumed`,
bool `$closing`
): int

This method is called whenever data is read from or written to the attached stream (such as with fread() or fwrite()).

### 参数

`in`

  `in` is a resource pointing to a `bucket brigade` which contains one or more `bucket` objects containing data to be filtered.

`out`

  `out` is a resource pointing to a second `bucket brigade` into which your modified buckets should be placed.

`consumed`

  `consumed`, which must always be declared by reference, should be incremented by the length of the data which your filter reads in and alters. In most cases this means you will increment `consumed` by `$bucket->datalen` for each `$bucket`.

`closing`

  If the stream is in the process of closing (and therefore this is the last pass through the filterchain), the `closing` parameter will be set to `true`.

### 返回值

The filter() method must return one of three values upon completion.

Return Value | Meaning
--- | ---
`PSFS_PASS_ON` | Filter processed successfully with data available in the `out` `bucket brigade`.
`PSFS_FEED_ME` | Filter processed successfully, however no data was available to return. More data is required from the stream or prior filter.
`PSFS_ERR_FATAL` (default) | The filter experienced an unrecoverable error and cannot continue.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open