Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
core\session\handler Class Reference

Session handler base. More...

Inheritance diagram for core\session\handler:
core\session\database core\session\file core\session\memcached core\session\redis

Public Member Functions

 abort ()
 Release lock on the session without writing it.
 
 init ()
 Init session handler.
 
 kill_all_sessions ()
 Kill all active sessions, the core sessions table is purged afterwards.
 
 kill_session ($sid)
 Kill one session, the session record is removed afterwards.
 
 requires_write_lock ()
 Has this session been opened with a writelock? Your handler should call this during start() if you support read-only sessions.
 
 session_exists ($sid)
 Check the backend contains data for this session id.
 
 set_requires_write_lock ($requireswritelock)
 This is called after init() and before start() to indicate whether the session opened should be writable or not.
 
 start ()
 Start the session.
 
 write_close ()
 Write the session and release lock.
 

Protected Attributes

boolean $requireswritelock = false
 $requireswritelock does the session need and/or have a lock?
 

Detailed Description

Session handler base.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ abort()

core\session\handler::abort ( )

Release lock on the session without writing it.

May not be possible in older versions of PHP. If so, session may be written anyway so that any locks are released.

◆ init()

core\session\handler::init ( )
abstract

Init session handler.

Reimplemented in core\session\database, core\session\file, core\session\memcached, and core\session\redis.

◆ kill_all_sessions()

core\session\handler::kill_all_sessions ( )
abstract

Kill all active sessions, the core sessions table is purged afterwards.

Reimplemented in core\session\database, core\session\file, core\session\memcached, and core\session\redis.

◆ kill_session()

core\session\handler::kill_session ( $sid)
abstract

Kill one session, the session record is removed afterwards.

Parameters
string$sid

Reimplemented in core\session\database, core\session\file, core\session\memcached, and core\session\redis.

◆ requires_write_lock()

core\session\handler::requires_write_lock ( )

Has this session been opened with a writelock? Your handler should call this during start() if you support read-only sessions.

Return values
booltrue if session is intended to have a write lock.

◆ session_exists()

core\session\handler::session_exists ( $sid)
abstract

Check the backend contains data for this session id.

Note: this is intended to be called from manager\session_exists() only.

Parameters
string$sid
Return values
booltrue if session found.

Reimplemented in core\session\database, core\session\file, core\session\memcached, and core\session\redis.

◆ set_requires_write_lock()

core\session\handler::set_requires_write_lock ( $requireswritelock)

This is called after init() and before start() to indicate whether the session opened should be writable or not.

This is intentionally captured even if your handler doesn't support non-locking sessions, so that behavior (upon session close) matches closely between handlers.

Parameters
bool$requireswritelocktrue if needs to be open for writing

◆ start()

core\session\handler::start ( )

Start the session.

Return values
boolsuccess

Reimplemented in core\session\memcached, and core\session\redis.

◆ write_close()

core\session\handler::write_close ( )

Write the session and release lock.

If the session was not intentionally opened with a write lock, then we will abort the session instead if able.


The documentation for this class was generated from the following file: