(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. |