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

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.