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 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'