The League of Extraordinary Packages

Our Packages:

Presented by The League of Extraordinary Packages

Getting Started


Uri Schemes

Uri manipulation

Uri Parts API


Upgrading Guide

This is the documentation for the unsupported version 4.0. Please consider upgrading your code to the latest stable version

The Scheme component

The library provides a Scheme class to ease scheme creation and manipulation.


Using the default constructor.


public function __contruct($scheme = null)

The constructor accepts:



use League\Uri\Components\Scheme;

$scheme = new Scheme('ftp');
echo $scheme->getContent();      //display 'ftp'
echo $scheme;                    //display 'ftp'
echo $scheme->getUriComponent(); //display 'ftp:'

$scheme = new Scheme();
echo $scheme->getContent();      //display null
echo $scheme;                    //display ''
echo $scheme->getUriComponent(); //display ''

If the submitted value is not a valid an InvalidArgumentException exception is thrown.

On instantiation the submitted string is normalized using RFC3986 rules.

Using a League Uri object

You can access a Scheme object with an already instantiated Uri object.


use League\Uri\Schemes\Http as HttpUri;

$uri = HttpUri::createFromString('');
$scheme = $uri->scheme; // $scheme is a League\Uri\Components\Scheme object;

Properties and Methods

The component representation, comparison and manipulation is done using the package UriPart and the Component interfaces.