class PhpBridgeSessionStorage extends NativeSessionStorage
Allows session to be started by PHP and managed by Symfony.
Methods
__construct(AbstractProxy|NativeSessionHandler|SessionHandlerInterface|null $handler = null, MetadataBag $metaBag = null) Constructor. | ||
AbstractProxy | getSaveHandler() Gets the save handler instance. | from NativeSessionStorage |
bool | start() Starts the session. | |
string | getId() Returns the session ID. | from NativeSessionStorage |
setId(string $id) Sets the session ID. | from NativeSessionStorage | |
mixed | getName() Returns the session name. | from NativeSessionStorage |
setName(string $name) Sets the session name. | from NativeSessionStorage | |
bool | regenerate(bool $destroy = false, int $lifetime = null) Regenerates id that represents this storage. | from NativeSessionStorage |
save() Force the session to be saved and closed. | from NativeSessionStorage | |
clear() Clear all session data in memory. | ||
registerBag(SessionBagInterface $bag) Registers a SessionBagInterface for use. | from NativeSessionStorage | |
SessionBagInterface | getBag(string $name) Gets a SessionBagInterface by name. | from NativeSessionStorage |
setMetadataBag(MetadataBag $metaBag = null) Sets the MetadataBag. | from NativeSessionStorage | |
MetadataBag | getMetadataBag() Gets the MetadataBag. | from NativeSessionStorage |
bool | isStarted() Checks if the session is started. | from NativeSessionStorage |
setOptions(array $options) Sets session.* ini variables. | from NativeSessionStorage | |
setSaveHandler(AbstractProxy|NativeSessionHandler|SessionHandlerInterface|null $saveHandler = null) Registers session save handler as a PHP session handler. | from NativeSessionStorage |
Details
__construct(AbstractProxy|NativeSessionHandler|SessionHandlerInterface|null $handler = null, MetadataBag $metaBag = null)
Constructor.
AbstractProxy getSaveHandler()
Gets the save handler instance.
bool start()
Starts the session.
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.
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.
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.
clear()
Clear all session data in memory.
registerBag(SessionBagInterface $bag)
Registers a SessionBagInterface for use.
SessionBagInterface getBag(string $name)
Gets a SessionBagInterface by name.
setMetadataBag(MetadataBag $metaBag = null)
Sets the MetadataBag.
MetadataBag getMetadataBag()
Gets the MetadataBag.
bool isStarted()
Checks if the session is started.
setOptions(array $options)
Sets session.* ini variables.
For convenience we omit 'session.' from the beginning of the keys. Explicitly ignores other ini keys.
setSaveHandler(AbstractProxy|NativeSessionHandler|SessionHandlerInterface|null $saveHandler = null)
Registers session save handler as a PHP session handler.
To use internal PHP session save handlers, override this method using iniset with session.savehandler and session.save_path e.g.
ini_set('session.save_handler', 'files');
ini_set('session.save_path', /tmp');
or pass in a NativeSessionHandler instance which configures session.save_handler in the constructor, for a template see NativeFileSessionHandler or use handlers in composer package drak/native-session
Please login to continue.