The URI toolkit
For PHP Developers
Suite of packages which provide intuitive features to parse, validate, format and manipulate URIs and their
components. Built to enable working with any kind of
RFC3986 compliant URI
and follow closely the latest WHATWG URL Living Standard
specification. It
provides an enhanced replacement for PHP's parse_url
,
http_build_query
, PECL's
http_build_url
functions, and
a PSR-7 UriInterface
adapter.
use League\Uri\Components\Query;
use League\Uri\Modifier;
use League\Uri\Uri;
$uri = Uri::new('https://example.com?q=value#fragment');
$uri->getScheme(); // returns 'http'
$uri->getHost(); // returns 'example.com'
$newUri = Modifier::from($uri)->appendQuery('q=new.Value');
echo $newUri; // 'https://example.com?q=value&q=new.Value#fragment'
$query = Query::fromUri($newUri);
$query->get('q'); // returns 'value'
$query->getAll('q'); // returns ['value', 'new.Value']
$query->parameter('q'); // returns 'new.Value'
Choose the package that suits your needs
uri-interfaces
The URI utility package
- URI parser and builder
- Query parser and builder
- IDNA, IPv4 and IPv6 converter
- Encode/decode URI components
uri
The URI manipulation package
- URI object with complete validation
- Resolves and Relativizes URIs
- Expands URI Templates
PSR-7
andPSR-17
URI adapters
uri-components
The URI components package
- Provides URI components objects
URLSearchParams
for PHP- Partial modifiers for URI.
Once a new major version is released, the previous stable release remains supported for six more months with patches and security fixes.