URI manipulation library

Fund package maintenance!

Installs: 30 376 877

Dependents: 208

Suggesters: 7

Security: 0

Stars: 897

Watchers: 15

Forks: 64

Open Issues: 0

6.8.0 2022-09-13 19:58 UTC


Build Software License Latest Version Total Downloads

The Uri package provides simple and intuitive classes to manage URIs in PHP. You will be able to

  • parse, build and resolve URIs
  • create URIs from different sources (string, PHP environment, base URI, URI template, ...);
  • handle internalisation;
  • infer properties and features from URIs;

use League\Uri\UriTemplate;

$template = 'https://api.twitter.com:443/{version}/search/{term:1}/{term}/{?q*,limit}#title';
$defaultVariables = ['version' => '1.1'];
$params = [
    'term' => 'john',
    'q' => ['a', 'b'],
    'limit' => '10',

$uriTemplate = new UriTemplate($template, $defaultVariables);
$uri = $uriTemplate->expand($params);
// $uri is a League\Uri\Uri object

echo $uri->getScheme();    //displays "https"
echo $uri->getAuthority(); //displays "api.twitter.com:443"
echo $uri->getPath();      //displays "/1.1/search/j/john/"
echo $uri->getQuery();     //displays "q=a&q=b&limit=10"
echo $uri->getFragment();  //displays "title"
echo $uri;
//displays "https://api.twitter.com:443/1.1/search/j/john/?q=a&q=b&limit=10#title"
echo json_encode($uri);
//displays "https:\/\/api.twitter.com:443\/1.1\/search\/j\/john\/?q=a&q=b&limit=10#title"


System Requirements

  • You require PHP >= 7.3 but the latest stable version of PHP is recommended
  • You will need the ext-intl to handle i18n URI.
  • Since version 6.2.0 you will need the ext-fileinfo to handle Data URI creation from a filepath.


In order to handle IDN host you are required to also install the intl extension otherwise an exception will be thrown when attempting to validate such host.

In order to create Data URI from a filepath, since version 6.2, you are required to also install the fileinfo extension otherwise an exception will be thrown.


$ composer require league/uri


Full documentation can be found at uri.thephpleague.com.


⚠️ this is a sub-split, for development, pull requests and issues, visit: https://github.com/thephpleague/uri-src


The MIT License (MIT). Please see License File for more information.