(PHP 5, PHP 7, PHP 8)
php_user_filter::filter — Appelé lors de l'application d'un filtre
Cette méthode est appelée lorsque les données sont lues depuis le flux attaché, ou écrites sur le flux attaché (lors de l'utilisation de la fonction fread() ou la fonction fwrite()).
in
Le paramètre in
est une ressource pointant vers
un bucket brigade
qui contient un ou plusieurs
objets bucket
contenant les données à filtrer.
out
Le paramètre out
est une ressource pointant
vers un second bucket brigade
dans lequel vos
bucket
modifiés doivent être placés.
consumed
Le paramètre consumed
, qui doit toujours
être déclaré par référence, doit être incrémenté par la longueur
des données filtrés par votre filtre. Dans la plupart des cas, cela
signifie que vous devez incrémenter le paramètre consumed
par $bucket->datalen
pour chaque $bucket
.
closing
Si le flux est dans un processus de fermeture (et donc, c'est la
dernière passe via la chaîne de filtrage), le paramètre
closing
sera défini à true
.
La méthode filter() doit retourner au final une de ces trois valeurs.
Valeur retournée | Signification |
---|---|
PSFS_PASS_ON |
Le processus de filtrage s'est terminé avec succès, et les
données sont disponibles dans le paramètre
out bucket brigade .
|
PSFS_FEED_ME |
Le processus de filtrage s'est terminé avec succès, cependant, aucune donnée n'est disponible pour être retourné. Plus de données sont requis depuis le flux ou avant filtrage. |
PSFS_ERR_FATAL (défaut) |
Le filtre a rencontré une erreur fatale et ne peut continuer. |