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 (SessionManager $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
 
SessionManager 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 34 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 195 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 343 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 364 of file PHPSessionHandler.php.

◆ install()

◆ isEnabled()

◆ isInstalled()

◆ 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 180 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 209 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 71 of file PHPSessionHandler.php.

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

◆ setManager()

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

Set the manager, store, and logger.

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

Definition at line 158 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 237 of file PHPSessionHandler.php.

References $cache, $value, as, null, and wfDeprecated().

Member Data Documentation

◆ $enable

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

Whether PHP session handling is enabled.

Definition at line 39 of file PHPSessionHandler.php.

◆ $instance

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

Definition at line 36 of file PHPSessionHandler.php.

◆ $logger

LoggerInterface MediaWiki\Session\PHPSessionHandler::$logger
protected

◆ $manager

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

◆ $sessionFieldCache

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

Track original session fields for later modification check.

Definition at line 54 of file PHPSessionHandler.php.

◆ $store

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

◆ $warn

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

Definition at line 42 of file PHPSessionHandler.php.


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