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 User component

The library provides a User class to ease user creation and manipulation.


Using the default constructor.


public function __contruct($user = null)

The constructor accepts:



use League\Uri\Components\User;

$user = new User('john');
echo $user->getContent();      //display 'john'
echo $user;                    //display 'john'
echo $user->getUriComponent(); //display 'john'

$user = new User();
echo $user->getContent();      //display null
echo $user;                    //display ''
echo $user->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 User object with an already instantiated Uri object.


use League\Uri\Schemes\Http as HttpUri;

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

Properties and Methods

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


New in version 4.2


public function User::getDecoded(void): null|string

Returns the decoded version of the getContent method


use League\Uri\Components\User;

$user = new User('frag:ment');
$user->getContent(); // display 'frag%3Ament'
$user->getDecoded(); // display 'frag:ment'