clue/stream-filter
Lightweight PHP library that simplifies stream filtering with a few helper functions (append, prepend, fun, remove). Easily apply built-in or custom stream filters for on-the-fly transformations like gzip, encoding conversion, and compression, with solid tests and SOLID design.
Feature: Full PHP 8.3 and PHP 8.2 compatibility. (#51 by @yadaiio and #50 by @clue)
Feature / Fix: Improve error reporting when custom error handler is used. (#47 by @SimonFrings)
Improve test suite and ensure 100% code coverage. (#46 by @SimonFrings, #48 and #50 by @clue and #51 by @yadaiio)
Feature: Support PHP 8.1 release. (#45 by @clue)
Improve documentation to use fully-qualified function names. (#43 by @SimonFrings and #42 by @PaulRotmann)
Improve test suite and use GitHub actions for continuous integration (CI). (#39 and #40 by @SimonFrings)
Feature: Improve performance by using global imports. (#38 by @clue)
Improve API documentation and add support / sponsorship info. (#30 by @clue and #35 by @SimonFrings)
Improve test suite and add .gitattributes to exclude dev files from exports.
Prepare PHP 8 support, update to PHPUnit 9 and simplify test matrix.
(#32 and #37 by @clue and #34 and #36 by @SimonFrings)
Feature / Fix: The fun() function does not pass filter parameter null
to underlying stream_filter_append() by default
(#15 by @Nyholm)
Certain filters (such as convert.quoted-printable-encode) do not accept
a filter parameter at all. If no explicit filter parameter is given, we no
longer pass a default null value.
$encode = Filter\fun('convert.quoted-printable-encode');
assert('t=C3=A4st' === $encode('täst'));
Add examples and improve documentation (#13 and #20 by @clue and #18 by @Nyholm)
Improve test suite by adding PHPUnit to require-dev, fix HHVM build for now again and ignore future HHVM build errors, lock Travis distro so new future defaults will not break the build and test on PHP 7.1 (#12, #14 and #19 by @clue and #16 by @Nyholm)
Feature: Support accessing built-in filters as callbacks (#5 by @clue)
$fun = Filter\fun('zlib.deflate');
$ret = $fun('hello') . $fun('world') . $fun();
assert('helloworld' === gzinflate($ret));
How can I help you explore Laravel packages today?