class MockArraySessionStorage implements SessionStorageInterface

MockArraySessionStorage mocks the session for unit tests.

No PHP session is actually started since a session can be initialized and shutdown only once per PHP execution cycle.

When doing functional testing, you should use MockFileSessionStorage instead.

Methods

__construct(string $name = 'MOCKSESSID', MetadataBag $metaBag = null)

Constructor.

setSessionData(array $array)

Sets the session data.

boolean
start()

Starts the session.

Boolean
regenerate(Boolean $destroy = false, integer $lifetime = null)

Regenerates id that represents this storage.

string
getId()

Returns the session ID

setId(string $id)

Sets the session ID

mixed
getName()

Returns the session name

setName(string $name)

Sets the session name

save()

Force the session to be saved and closed.

clear()

Clear all session data in memory.

registerBag(SessionBagInterface $bag)

Registers a SessionBagInterface for use.

getBag(string $name)

Gets a SessionBagInterface by name.

boolean
isStarted()

Checks if the session is started.

setMetadataBag(MetadataBag $bag = null)

Sets the MetadataBag.

getMetadataBag()

Gets the MetadataBag.

Details

at line line 71
__construct(string $name = 'MOCKSESSID', MetadataBag $metaBag = null)

Constructor.

Parameters

string $name Session name
MetadataBag $metaBag MetadataBag instance.

at line line 82
setSessionData(array $array)

Sets the session data.

Parameters

array $array

at line line 90
boolean start()

Starts the session.

Return Value

boolean True if started.

Exceptions

RuntimeException If something goes wrong starting the session.

at line line 108
Boolean regenerate(Boolean $destroy = false, integer $lifetime = null)

Regenerates id that represents this storage.

This method must invoke sessionregenerateid($destroy) unless this interface is used for a storage object designed for unit or functional testing where a real PHP session would interfere with testing.

Note regenerate+destroy should not clear the session data in memory only delete the session data from persistent storage.

Parameters

Boolean $destroy Destroy session when regenerating?
integer $lifetime Sets the cookie lifetime for the session cookie. A null value will leave the system settings unchanged, 0 sets the cookie to expire with browser session. Time is in seconds, and is not a Unix timestamp.

Return Value

Boolean True if session regenerated, false if error

Exceptions

RuntimeException If an error occurs while regenerating this storage

at line line 123
string getId()

Returns the session ID

Return Value

string The session ID or empty.

at line line 131
setId(string $id)

Sets the session ID

Parameters

string $id

at line line 143
mixed getName()

Returns the session name

Return Value

mixed The session name.

at line line 151
setName(string $name)

Sets the session name

Parameters

string $name

at line line 159
save()

Force the session to be saved and closed.

This method must invoke sessionwriteclose() unless this interface is used for a storage object design for unit or functional testing where a real PHP session would interfere with testing, in which case it it should actually persist the session data if required.

Exceptions

RuntimeException If the session is saved without being started, or if the session is already closed.

at line line 172
clear()

Clear all session data in memory.

at line line 189
registerBag(SessionBagInterface $bag)

Registers a SessionBagInterface for use.

Parameters

SessionBagInterface $bag

at line line 197
SessionBagInterface getBag(string $name)

Gets a SessionBagInterface by name.

Parameters

string $name

Return Value

SessionBagInterface

Exceptions

InvalidArgumentException If the bag does not exist

at line line 213
boolean isStarted()

Checks if the session is started.

Return Value

boolean True if started, false otherwise.

at line line 223
setMetadataBag(MetadataBag $bag = null)

Sets the MetadataBag.

Parameters

MetadataBag $bag

at line line 237
MetadataBag getMetadataBag()

Gets the MetadataBag.

Return Value

MetadataBag