class InMemoryUserProvider implements UserProviderInterface

InMemoryUserProvider is a simple non persistent user provider.

Useful for testing, demonstration, prototyping, and for simple needs (a backend with a unique admin for instance)

Methods

__construct(array $users = array())

Constructor.

createUser(UserInterface $user)

Adds a new User to the provider.

loadUserByUsername(string $username)

Loads the user for the given username.

refreshUser(UserInterface $user)

Refreshes the user for the account interface.

bool
supportsClass(string $class)

Whether this provider supports the given user class.

Details

at line line 37
__construct(array $users = array())

Constructor.

The user array is a hash where the keys are usernames and the values are an array of attributes: 'password', 'enabled', and 'roles'.

Parameters

array $users An array of users

at line line 56
createUser(UserInterface $user)

Adds a new User to the provider.

Parameters

UserInterface $user A UserInterface instance

Exceptions

LogicException

at line line 68
UserInterface loadUserByUsername(string $username)

Loads the user for the given username.

This method must throw UsernameNotFoundException if the user is not found.

Parameters

string $username The username

Return Value

UserInterface

Exceptions

UsernameNotFoundException if the user is not found

at line line 78
UserInterface refreshUser(UserInterface $user)

Refreshes the user for the account interface.

It is up to the implementation to decide if the user data should be totally reloaded (e.g. from the database), or if the UserInterface object can just be merged into some internal array of users / identity map.

Parameters

UserInterface $user

Return Value

UserInterface

Exceptions

UnsupportedUserException if the account is not supported

at line line 92
bool supportsClass(string $class)

Whether this provider supports the given user class.

Parameters

string $class

Return Value

bool