MediaWiki  master
MediaWiki\Session\PHPSessionHandler Class Reference

Adapter for PHP's session handling. More...

Inheritance diagram for MediaWiki\Session\PHPSessionHandler:
Collaboration diagram for MediaWiki\Session\PHPSessionHandler:

Public Member Functions

 close ()
 Close the session (handler) More...
 
 destroy ( $id)
 Destroy a session. More...
 
 gc ( $maxlifetime)
 Execute garbage collection. More...
 
 open ( $save_path, $session_name)
 Initialize the session (handler) More...
 
 read ( $id)
 Read session data. More...
 
 setManager (SessionManagerInterface $manager, BagOStuff $store, LoggerInterface $logger)
 Set the manager, store, and logger. More...
 
 write ( $id, $dataStr)
 Write session data. More...
 

Static Public Member Functions

static install (SessionManager $manager)
 Install a session handler for the current web request. More...
 
static isEnabled ()
 Test whether the handler is installed and enabled. More...
 
static isInstalled ()
 Test whether the handler is installed. More...
 

Protected Member Functions

 __construct (SessionManager $manager)
 

Protected Attributes

bool $enable = false
 Whether PHP session handling is enabled. More...
 
LoggerInterface $logger
 
SessionManagerInterface null $manager
 
array $sessionFieldCache = []
 Track original session fields for later modification check. More...
 
BagOStuff null $store
 
bool $warn = true
 

Static Protected Attributes

static PHPSessionHandler $instance = null
 

Private Member Functions

 setEnableFlags ( $PHPSessionHandling)
 Set $this->enable and $this->warn. More...
 

Detailed Description

Adapter for PHP's session handling.

Since
1.27

Definition at line 35 of file PHPSessionHandler.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Session\PHPSessionHandler::__construct ( SessionManager  $manager)
protected

Member Function Documentation

◆ close()

MediaWiki\Session\PHPSessionHandler::close ( )

Close the session (handler)

Access:
private For internal use only
Returns
true

Definition at line 196 of file PHPSessionHandler.php.

◆ destroy()

MediaWiki\Session\PHPSessionHandler::destroy (   $id)

Destroy a session.

Access:
private For internal use only
Parameters
string$idSession id
Returns
true

Definition at line 344 of file PHPSessionHandler.php.

◆ gc()

MediaWiki\Session\PHPSessionHandler::gc (   $maxlifetime)

Execute garbage collection.

Access:
private For internal use only
Parameters
int$maxlifetimeMaximum session life time (ignored)
Returns
true See T135576

Definition at line 365 of file PHPSessionHandler.php.

◆ install()

static MediaWiki\Session\PHPSessionHandler::install ( SessionManager  $manager)
static

Install a session handler for the current web request.

Parameters
SessionManager$manager

Definition at line 111 of file PHPSessionHandler.php.

References MediaWiki\Session\PHPSessionHandler\$manager, and MediaWiki\Session\SessionManager\setupPHPSessionHandler().

◆ isEnabled()

static MediaWiki\Session\PHPSessionHandler::isEnabled ( )
static

◆ isInstalled()

static MediaWiki\Session\PHPSessionHandler::isInstalled ( )
static

Test whether the handler is installed.

Returns
bool

Definition at line 95 of file PHPSessionHandler.php.

◆ open()

MediaWiki\Session\PHPSessionHandler::open (   $save_path,
  $session_name 
)

Initialize the session (handler)

Access:
private For internal use only
Parameters
string$save_pathPath used to store session files (ignored)
string$session_nameSession name (ignored)
Returns
true

Definition at line 181 of file PHPSessionHandler.php.

◆ read()

MediaWiki\Session\PHPSessionHandler::read (   $id)

Read session data.

Access:
private For internal use only
Parameters
string$idSession id
Returns
string Session data

Definition at line 210 of file PHPSessionHandler.php.

◆ setEnableFlags()

MediaWiki\Session\PHPSessionHandler::setEnableFlags (   $PHPSessionHandling)
private

Set $this->enable and $this->warn.

Separate just because there doesn't seem to be a good way to test it otherwise.

Parameters
string$PHPSessionHandlingSee $wgPHPSessionHandling

Definition at line 72 of file PHPSessionHandler.php.

Referenced by MediaWiki\Session\PHPSessionHandler\__construct().

◆ setManager()

MediaWiki\Session\PHPSessionHandler::setManager ( SessionManagerInterface  $manager,
BagOStuff  $store,
LoggerInterface  $logger 
)

Set the manager, store, and logger.

Access:
private Use self::install().
Parameters
SessionManagerInterface$manager
BagOStuff$store
LoggerInterface$logger

Definition at line 159 of file PHPSessionHandler.php.

References MediaWiki\Session\PHPSessionHandler\$logger, MediaWiki\Session\PHPSessionHandler\$manager, and MediaWiki\Session\PHPSessionHandler\$store.

Referenced by MediaWiki\Session\SessionManager\setupPHPSessionHandler().

◆ write()

MediaWiki\Session\PHPSessionHandler::write (   $id,
  $dataStr 
)

Write session data.

Access:
private For internal use only
Parameters
string$idSession id
string$dataStrSession data. Not that you should ever call this directly, but note that this has the same issues with code injection via user-controlled data as does PHP's unserialize function.
Returns
bool

Definition at line 238 of file PHPSessionHandler.php.

References $cache, and wfDeprecated().

Member Data Documentation

◆ $enable

bool MediaWiki\Session\PHPSessionHandler::$enable = false
protected

Whether PHP session handling is enabled.

Definition at line 40 of file PHPSessionHandler.php.

◆ $instance

PHPSessionHandler MediaWiki\Session\PHPSessionHandler::$instance = null
staticprotected

Definition at line 37 of file PHPSessionHandler.php.

◆ $logger

LoggerInterface MediaWiki\Session\PHPSessionHandler::$logger
protected

◆ $manager

SessionManagerInterface null MediaWiki\Session\PHPSessionHandler::$manager
protected

◆ $sessionFieldCache

array MediaWiki\Session\PHPSessionHandler::$sessionFieldCache = []
protected

Track original session fields for later modification check.

Definition at line 55 of file PHPSessionHandler.php.

◆ $store

BagOStuff null MediaWiki\Session\PHPSessionHandler::$store
protected

◆ $warn

bool MediaWiki\Session\PHPSessionHandler::$warn = true
protected

Definition at line 43 of file PHPSessionHandler.php.


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