Streams 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
객체를 포함하는bucket brigade
을 가리키는 리소스입니다.out
out
은 수정된 버킷이 배치되어야 하는 두 번째bucket brigade
을 가리키는 리소스입니다.consumed
- 항상 참조로 선언되어야 하는
consumed
는 필터가 읽고 변경하는 데이터의 길이만큼 증가해야 합니다. 대부분의 경우 이는 각$bucket
에 대해$bucket->datalen
에 의해consumed
되는 증가분을 의미합니다. closing
- 스트림이 닫히는 중이면(따라서 이것이 필터 체인을 통한 마지막 패스임)
closing
매개변수는true
로 설정됩니다.
반환 값
filter()
메서드는 완료 시 세 값 중 하나를 반환해야 합니다.
Return Value | Meaning |
---|---|
PSFS_PASS_ON |
out bucket brigade 에서 사용할 수 있는 데이터로 필터가 성공적으로 처리되었습니다. |
PSFS_FEED_ME |
필터가 성공적으로 처리되었지만 반환할 데이터가 없습니다. 스트림 또는 이전 필터에서 더 많은 데이터가 필요합니다. |
PSFS_ERR_FATAL (default) |
필터에 복구할 수 없는 오류가 발생하여 계속할 수 없습니다. |