SessionStorageInterface
interface SessionStorageInterface
StorageInterface.
Methods
Starts the session.
Checks if the session is started.
Returns the session ID.
Sets the session ID.
Returns the session name.
Sets the session name.
Regenerates id that represents this storage.
Force the session to be saved and closed.
Clear all session data in memory.
Gets a SessionBagInterface by name.
No description
Details
at line line 31
bool
start()
Starts the session.
at line line 38
bool
isStarted()
Checks if the session is started.
at line line 45
string
getId()
Returns the session ID.
at line line 52
setId(string $id)
Sets the session ID.
at line line 59
mixed
getName()
Returns the session name.
at line line 66
setName(string $name)
Sets the session name.
at line line 97
bool
regenerate(bool $destroy = false, int $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.
Care: When regenerating the session ID no locking is involved in PHPs session design. See https://bugs.php.net/bug.php?id=61470 for a discussion. So you must make sure the regenerated session is saved BEFORE sending the headers with the new ID. Symfonys 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.
at line line 110
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.
at line line 115
clear()
Clear all session data in memory.
at line line 126
SessionBagInterface
getBag(string $name)
Gets a SessionBagInterface by name.
at line line 133
registerBag(SessionBagInterface $bag)
Registers a SessionBagInterface for use.