name: NativeSessionStorage class_comment: '# * This provides a base class for session attribute storage. # * # * @author Drak ' dependencies: - name: SessionBagInterface type: class source: Symfony\Component\HttpFoundation\Session\SessionBagInterface - name: StrictSessionHandler type: class source: Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler - name: AbstractProxy type: class source: Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy - name: SessionHandlerProxy type: class source: Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy properties: [] methods: - name: __construct visibility: public parameters: - name: options default: '[]' - name: handler default: 'null' - name: metaBag default: 'null' comment: "# * This provides a base class for session attribute storage.\n# *\n#\ \ * @author Drak \n# */\n# class NativeSessionStorage implements\ \ SessionStorageInterface\n# {\n# /**\n# * @var SessionBagInterface[]\n# */\n\ # protected array $bags = [];\n# protected bool $started = false;\n# protected\ \ bool $closed = false;\n# protected AbstractProxy|\\SessionHandlerInterface $saveHandler;\n\ # protected MetadataBag $metadataBag;\n# \n# /**\n# * Depending on how you want\ \ the storage driver to behave you probably\n# * want to override this constructor\ \ entirely.\n# *\n# * List of options for $options array with their defaults.\n\ # *\n# * @see https://php.net/session.configuration for options\n# * but we omit\ \ 'session.' from the beginning of the keys for convenience.\n# *\n# * (\"auto_start\"\ , is not supported as it tells PHP to start a session before\n# * PHP starts to\ \ execute user-land code. Setting during runtime has no effect).\n# *\n# * cache_limiter,\ \ \"\" (use \"0\" to prevent headers from being sent entirely).\n# * cache_expire,\ \ \"0\"\n# * cookie_domain, \"\"\n# * cookie_httponly, \"\"\n# * cookie_lifetime,\ \ \"0\"\n# * cookie_path, \"/\"\n# * cookie_secure, \"\"\n# * cookie_samesite,\ \ null\n# * gc_divisor, \"100\"\n# * gc_maxlifetime, \"1440\"\n# * gc_probability,\ \ \"1\"\n# * lazy_write, \"1\"\n# * name, \"PHPSESSID\"\n# * referer_check, \"\ \"\n# * serialize_handler, \"php\"\n# * use_strict_mode, \"1\"\n# * use_cookies,\ \ \"1\"\n# * use_only_cookies, \"1\"\n# * use_trans_sid, \"0\"\n# * sid_length,\ \ \"32\"\n# * sid_bits_per_character, \"5\"\n# * trans_sid_hosts, $_SERVER['HTTP_HOST']\n\ # * trans_sid_tags, \"a=href,area=href,frame=src,form=\"" - name: getSaveHandler visibility: public parameters: [] comment: '# * Gets the save handler instance.' - name: start visibility: public parameters: [] comment: null - name: getId visibility: public parameters: [] comment: null - name: setId visibility: public parameters: - name: id comment: null - name: getName visibility: public parameters: [] comment: null - name: setName visibility: public parameters: - name: name comment: null - name: regenerate visibility: public parameters: - name: destroy default: 'false' - name: lifetime default: 'null' comment: null - name: save visibility: public parameters: [] comment: null - name: clear visibility: public parameters: [] comment: null - name: registerBag visibility: public parameters: - name: bag comment: null - name: getBag visibility: public parameters: - name: name comment: null - name: setMetadataBag visibility: public parameters: - name: metaBag comment: null - name: getMetadataBag visibility: public parameters: [] comment: '# * Gets the MetadataBag.' - name: isStarted visibility: public parameters: [] comment: null - name: setOptions visibility: public parameters: - name: options comment: '# * Sets session.* ini variables. # * # * For convenience we omit ''session.'' from the beginning of the keys. # * Explicitly ignores other ini keys. # * # * @param array $options Session ini directives [key => value] # * # * @see https://php.net/session.configuration' - name: setSaveHandler visibility: public parameters: - name: saveHandler comment: '# * Registers session save handler as a PHP session handler. # * # * To use internal PHP session save handlers, override this method using ini_set with # * session.save_handler and session.save_path e.g. # * # * ini_set(''session.save_handler'', ''files''); # * ini_set(''session.save_path'', ''/tmp''); # * # * or pass in a \SessionHandler instance which configures session.save_handler in the # * constructor, for a template see NativeFileSessionHandler. # * # * @see https://php.net/session-set-save-handler # * @see https://php.net/sessionhandlerinterface # * @see https://php.net/sessionhandler # * # * @throws \InvalidArgumentException' - name: loadSession visibility: protected parameters: - name: '&$session' default: 'null' comment: '# * Load the session with attributes. # * # * After starting the session, PHP retrieves the session from whatever handlers # * are set to (either PHP''s internal, or a custom save handler set with session_set_save_handler()). # * PHP takes the return value from the read() handler, unserializes it # * and populates $_SESSION with the result automatically.' traits: - Symfony\Component\HttpFoundation\Session\SessionBagInterface - Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler - Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy - Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy interfaces: - SessionStorageInterface