Documentation

SessionStorageInterface

StorageInterface.

Tags
author

Fabien Potencier fabien@symfony.com

author

Drak drak@zikula.org

Table of Contents

clear()  : mixed
Clear all session data in memory.
getBag()  : SessionBagInterface
Gets a SessionBagInterface by name.
getId()  : string
Returns the session ID.
getMetadataBag()  : MetadataBag
getName()  : string
Returns the session name.
isStarted()  : bool
Checks if the session is started.
regenerate()  : bool
Regenerates id that represents this storage.
registerBag()  : mixed
Registers a SessionBagInterface for use.
save()  : mixed
Force the session to be saved and closed.
setId()  : mixed
Sets the session ID.
setName()  : mixed
Sets the session name.
start()  : bool
Starts the session.

Methods

regenerate()

Regenerates id that represents this storage.

public regenerate([bool $destroy = false ][, int|null $lifetime = null ]) : bool

This method must invoke session_regenerate_id($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.

Care: When regenerating the session ID no locking is involved in PHP's session design. See https://bugs.php.net/61470 for a discussion. So you must make sure the regenerated session is saved BEFORE sending the headers with the new ID. Symfony's HttpKernel offers a listener for this. See Symfony\Component\HttpKernel\EventListener\SaveSessionListener. Otherwise session data could get lost again for concurrent requests with the new ID. One result could be that you get logged out after just logging in.

Parameters
$destroy : bool = false

Destroy session when regenerating?

$lifetime : int|null = null

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.

Tags
throws
RuntimeException

If an error occurs while regenerating this storage

Return values
bool

save()

Force the session to be saved and closed.

public save() : mixed

This method must invoke session_write_close() 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 should actually persist the session data if required.

Tags
throws
RuntimeException

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

Return values
mixed

setId()

Sets the session ID.

public setId(string $id) : mixed
Parameters
$id : string
Return values
mixed

setName()

Sets the session name.

public setName(string $name) : mixed
Parameters
$name : string
Return values
mixed

start()

Starts the session.

public start() : bool
Tags
throws
RuntimeException

if something goes wrong starting the session

Return values
bool

Search results