Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1427715
SessionManagerInterface.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
SessionManagerInterface.php
View Options
<?php
/**
* MediaWiki\Session entry point interface
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Session
*/
namespace
MediaWiki\Session
;
use
MediaWiki\Request\WebRequest
;
use
MediaWiki\User\User
;
use
Psr\Log\LoggerAwareInterface
;
/**
* This exists to make IDEs happy, so they don't see the
* internal-but-required-to-be-public methods on SessionManager.
*
* @ingroup Session
* @since 1.27
*/
interface
SessionManagerInterface
extends
LoggerAwareInterface
{
/**
* Fetch the session for a request (or a new empty session if none is
* attached to it)
*
* @note You probably want to use $request->getSession() instead. It's more
* efficient and doesn't break FauxRequests or sessions that were changed
* by $this->getSessionById() or $this->getEmptySession().
* @param WebRequest $request Any existing associated session will be reset
* to the session corresponding to the data in the request itself.
* @return Session
* @throws \OverflowException if there are multiple sessions tied for top
* priority in the request. Exception has a property "sessionInfos"
* holding the SessionInfo objects for the sessions involved.
*/
public
function
getSessionForRequest
(
WebRequest
$request
);
/**
* Fetch a session by ID
*
* @param string $id
* @param bool $create If no session exists for $id, try to create a new one.
* May still return null if a session for $id exists but cannot be loaded.
* @param WebRequest|null $request Corresponding request. Any existing
* session associated with this WebRequest object will be overwritten.
* @return Session|null
*/
public
function
getSessionById
(
$id
,
$create
=
false
,
?
WebRequest
$request
=
null
);
/**
* Create a new, empty session
*
* The first provider configured that is able to provide an empty session
* will be used.
*
* @param WebRequest|null $request Corresponding request. Any existing
* session associated with this WebRequest object will be overwritten.
* @return Session
*/
public
function
getEmptySession
(
?
WebRequest
$request
=
null
);
/**
* Invalidate sessions for a user
*
* After calling this, existing sessions should be invalid. For mutable
* session providers, this generally means the user has to log in again;
* for immutable providers, it generally means the loss of session data.
*/
public
function
invalidateSessionsForUser
(
User
$user
);
/**
* Return the HTTP headers that need varying on.
*
* The return value is such that someone could theoretically do this:
* @code
* foreach ( $provider->getVaryHeaders() as $header => $_ ) {
* $outputPage->addVaryHeader( $header );
* }
* @endcode
*
* @return array<string,null>
*/
public
function
getVaryHeaders
();
/**
* Return the list of cookies that need varying on.
* @return string[]
*/
public
function
getVaryCookies
();
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 14:59 (1 d, 40 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
bc/0a/b0a43bcbe6ec20992c3ec1138329
Default Alt Text
SessionManagerInterface.php (3 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment