Methods summary
public
boolean
|
#
start( )
Starts the session.
Returns
boolean True if started
Throws
|
public
boolean
|
#
isStarted( )
Checks if the session is started.
Checks if the session is started.
Returns
boolean True if started, false otherwise
|
public
string
|
#
getId( )
Returns the session ID.
Returns
string The session ID or empty
|
public
|
#
setId( string $id )
Sets the session ID.
Parameters
|
public
mixed
|
#
getName( )
Returns the session name.
Returns the session name.
Returns
mixed The session name
|
public
|
#
setName( string $name )
Sets the session name.
Parameters
|
public
boolean
|
#
regenerate( boolean $destroy = false, integer $lifetime = null )
Regenerates id that represents this storage.
Regenerates id that represents this storage.
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/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. 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
boolean $destroy Destroy session when regenerating?
- $lifetime
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.
Returns
boolean True if session regenerated, false if error
Throws
|
public
|
#
save( )
Force the session to be saved and closed.
Force the session to be saved and closed.
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.
Throws
RuntimeExceptionIf the session is saved without being started, or if the session is already
closed.
|
public
|
#
clear( )
Clear all session data in memory.
Clear all session data in memory.
|
public
Symfony\Component\HttpFoundation\Session\SessionBagInterface
|
#
getBag( string $name )
Gets a SessionBagInterface by name.
Gets a SessionBagInterface by name.
Parameters
Returns
Throws
|
public
|
|
public
Symfony\Component\HttpFoundation\Session\Storage\MetadataBag
|
|