Skip to content

PHP 7.1+ Query String manipulation library. No dependency, immutable, lightweight, PSR-7 compliant.

License

Notifications You must be signed in to change notification settings

bpolaszek/querystring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Stable Version License CI Workflow Coverage Quality Score Total Downloads

QueryString

A lightweight, object-oriented, Query String manipulation library.

Why?

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.

Usage

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

Documentation

Instantiation / Parsing

Manipulate parameters

Render as string

Installation

PHP 7.1+ is required.

composer require bentools/querystring:^1.0

Tests

./vendor/bin/phpunit

License

MIT

See also

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.

About

PHP 7.1+ Query String manipulation library. No dependency, immutable, lightweight, PSR-7 compliant.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages