PHP 8.1.28 Released!

php_user_filter::filter

(PHP 5, PHP 7, PHP 8)

php_user_filter::filter Вызывается, как только применяется фильтр

Описание

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

Этот метод вызывается всякий раз, когда данные читаются из присоединённого потока или записываются в него (такими функциями, как fread() или fwrite()).

Список параметров

in

in - ресурс, указывающий на bucket brigade, которая содержит один или несколько объектов bucket содержащих фильтруемые данные.

out

out – ресурс, указывающий на другой объект bucket brigade, в который будут помещаться модифицированные бакеты.

consumed

consumed, который должен всегда передаваться по ссылке, должен увеличиваться на размер данных, которые фильтр читает и изменяет. В большинстве случаев это значит, что вы сами будете увеличивать значение consumed на $bucket->datalen для каждого $bucket.

closing

Если поток закрывается (следовательно, это последний фильтр в цепочке), аргумент closing примет значение true.

Возвращаемые значения

Метод filter() должен возвращать одно из трёх значений.

Возвращаемое значение Описание
PSFS_PASS_ON Фильтр отработал успешно, данные доступны через аргумент out bucket brigade.
PSFS_FEED_ME Фильтр отработал успешно, однако доступных для вывода данных нет. Требуются ещё данные из потока или предыдущего фильтра.
PSFS_ERR_FATAL (по умолчанию) Фильтр вызвал необрабатываемую ошибку и не может продолжить выполнение.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top