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Фільтр відпрацював успішно, дані доступні через аргумент outbucket brigade
PSFS_FEED_MEФільтр відпрацював успішно, проте доступних для виведення даних немає. Потрібні дані з потоку або попереднього фільтра.
PSFS_ERR_FATAL(за замовчуванням)Фільтр викликав помилку, що не обробляється, і не може продовжити виконання.