fabgg / url-search-params
Library implement UrlSearchParams inspired of eponym class in Javascript
1.1
2022-09-15 15:33 UTC
Requires
- php: >=7.2
Requires (Dev)
- phpunit/phpunit: 9.5.x-dev
README
This is a php library inspired by JavaScript's URLSearchParams
class.
Installation
This can also be installed with composer
.
$ composer require fabgg/url-search-params
This library follows the PSR-4 convention names for its classes, which means you can easily integrate
url-search-params
classes loading in your own autoloader.
Getting Started
Basic example of how to use this library
<?php // Include dependencies installed with composer require 'vendor/autoload.php'; use Fabgg\UrlSearchParams\URLSearchParams; $search = new URLSearchParams('?q=github'); $search->merge(['user'=>'fabrice']) echo $search->toString();
The result would render the following string : ?q=github&user=fabrice
Usage
Use URLSearchParams
directly. You can instantiate a new instance of URLSearchParams
from a string or an array.
<?php $search = new URLSearchParams('?q=github+web+site&u=yan'); // equivalent to: $search = new URLSearchParams(['q' => 'github web site', 'u' => 'yan']);
append
$search= new URLSearchParams(); // array search->append(["id"=> 1]);
appendTo
$search = new URLSearchParams(); // key and value $search->appendTp("id"=> 1); // value can be an array $search->appendTp("id"=> [3,5,7]); echo (string)$search; // result is `?id=1&id=3&id=5&id=7`
delete
$search.delete("id");
get
$search.get("id"); // return an array [1, 3, 5, 7]
getAll
$search = new URLSearchParams('?q=github&u=yan'); // all query parameters are $search.getAll(); // return ['q' => ['github'], 'u' => ['yan']] $search.getAll("q"); // return ['q' => ['github']] like $search->get('q')
has
$search.has("id");
merge
$search = new URLSearchParams('?q=vegetable&flavour=sweet'); $search->merge('?q=fruits'); echo $search->toString(); // return '?q=vegetable&q=fruits&flavour=sweet' $search->merge(['flavour' => 'bitter','color'=>'red tomato']); echo $search->toString(); // return '?q=vegetable&q=fruits&flavour=sweet&flavour=bitter&color=red+tomato'
toString
$search.toString(); // or call __toString() (string)$search;
keys
$search = new URLSearchParams('?q=github&u=yan'); $search->keys(); // return ['q','u']
LICENSE
MIT license