Latest Stable Version License CI Workflow Coverage Quality Score Total Downloads
A lightweight, object-oriented, Query String manipulation library.
Because I needed an intuitive way to add or remove parameters from a query string, in any project.
Oh, and, I also wanted that ['foos' => ['foo', 'bar']] resolved to foos[]=foo&foos[]=bar instead of foos[0]=foo&foos[1]=bar, unlike many libraries do.
Thanks to object-oriented design, you can define the way query strings are parsed and rendered.
Simple as that:
require_once __DIR__ . '/vendor/autoload.php'; use function BenTools\QueryString\query_string; $qs = query_string( 'foo=bar&baz=bat' ); $qs = $qs->withParam('foo', 'foofoo') ->withoutParam('baz') ->withParam('ho', 'hi'); print_r($qs->getParams()); /* Array ( [foo] => foofoo [ho] => hi ) */ print $qs; // foo=foofoo&ho=hi
PHP 7.1+ is required.
composer require bentools/querystring:^1.0
./vendor/bin/phpunit
MIT
bentools/uri-factory - A PSR-7 UriInterface factory based on your own dependencies.
bentools/pager - A simple, object oriented Pager.
bentools/where - A framework-agnostic fluent, immutable, SQL query builder.
bentools/picker - Pick a random item from an array, with weight management.
bentools/psr7-request-matcher - A PSR-7 request matcher interface.
bentools/cartesian-product - Generate all possible combinations from a multidimensionnal array.
bentools/string-combinations - A string combinations generator.
bentools/flatten-iterator - An iterator that flattens multiple iterators or arrays.