Class CakeSession
Session class for CakePHP.
CakePHP abstracts the handling of sessions. There are several convenient methods to access session information. This class is the implementation of those methods. They are mostly used by the Session Component.
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Model/Datasource/CakeSession.php
Properties summary
-
$_cookieName
protected staticstring
Session cookie name -
$_initialized
protected staticboolean
Whether or not the init function in this class was already called -
$_isCLI
protected staticboolean
Whether this session is running under a CLI environment -
$_useForwardsCompatibleTimeout
protected staticboolean
Whether or not to make_validAgentAndTime
3.x compatible. -
$_userAgent
protected staticstring
User agent string -
$cookieLifeTime
public staticinteger
Cookie lifetime -
$error
public staticarray
Error messages for this session -
$host
public staticstring
Hostname -
$id
public staticstring
Current Session id -
$lastError
public staticinteger
Error number of last occurred error -
$path
public staticstring
Path to where the session is active. -
$requestCountdown
public staticinteger
Number of requests that can occur during a session time without the session being renewed. This feature is only used when config value
Session.autoRegenerate
is set to true. -
$sessionTime
public staticinteger
Time when this session becomes invalid. -
$time
public staticinteger
Start time for this session. -
$timeout
public staticinteger
Session timeout multiplier factor -
$valid
public staticboolean
True if the Session is still valid
Method Summary
-
_checkValid() protected static
Helper method to create a new session. -
_configureSession() protected static
Helper method to initialize a session, based on CakePHP core settings. -
_cookieName() protected static
Get session cookie name. -
_defaultConfig() protected static
Get one of the prebaked default session configurations. -
_error() protected static
Return error description for given error number. -
_getHandler() protected static
Find the handler class and make sure it implements the correct interface. -
_hasSession() protected static
Returns whether a session exists -
_overwrite() protected static
Used to write new data to _SESSION, since PHP doesn't like us setting the _SESSION var itself. -
_returnSessionVars() protected static
Returns all session variables. -
_setError() protected static
Helper method to set an internal error message. -
_setHost() protected static
Set the host name -
_setPath() protected static
Setup the Path variable -
_startSession() protected static
Helper method to start a session -
_validAgentAndTime() protected static
Tests that the user agent is valid and that the session hasn't 'timed out'. Since timeouts are implemented in CakeSession it checks the current static::$time against the time the session is set to expire. The User agent is only checked if Session.checkAgent == true.
-
_writeConfig() protected static
Writes configuration variables to the session -
check() public static
Returns true if given variable is set in session. -
clear() public static
Clears the session. -
consume() public static
Reads and deletes a variable from session. -
delete() public static
Removes a variable from session. -
destroy() public static
Helper method to destroy invalid sessions. -
error() public static
Returns last occurred error as a string, if any. -
id() public static
Returns the session id. Calling this method will not auto start the session. You might have to manually assert a started session.
-
init() public static
Pseudo constructor. -
read() public static
Returns given session variable, or all of them, if no parameters given. -
renew() public static
Restarts this session. -
start() public static
Starts the Session. -
started() public static
Determine if Session has been started. -
userAgent() public static
Get / Set the user agent -
valid() public static
Returns true if session is valid. -
write() public static
Writes value to given session variable name.
Method Detail
_configureSession() protected static ¶
_configureSession( )
Helper method to initialize a session, based on CakePHP core settings.
Sessions can be configured with a few shortcut names as well as have any number of ini settings declared.
Throws
_defaultConfig() protected static ¶
_defaultConfig( string $name )
Get one of the prebaked default session configurations.
Parameters
- string $name
- Config name.
Returns
_error() protected static ¶
_error( integer $errorNumber )
Return error description for given error number.
Parameters
- integer $errorNumber
- Error to set
Returns
Error as string
_getHandler() protected static ¶
_getHandler( string $handler )
Find the handler class and make sure it implements the correct interface.
Parameters
- string $handler
- Handler name.
Returns
Throws
_overwrite() protected static ¶
_overwrite( array $old , array $new )
Used to write new data to _SESSION, since PHP doesn't like us setting the _SESSION var itself.
Parameters
- array $old
- $old Set of old variables => values
- array $new
- New set of variable => value
_returnSessionVars() protected static ¶
_returnSessionVars( )
Returns all session variables.
Returns
Full $_SESSION array, or false on error.
_setError() protected static ¶
_setError( integer $errorNumber , string $errorMessage )
Helper method to set an internal error message.
Parameters
- integer $errorNumber
- Number of the error
- string $errorMessage
- Description of the error
_setHost() protected static ¶
_setHost( string $host )
Set the host name
Parameters
- string $host
- Hostname
_setPath() protected static ¶
_setPath( string|null $base = null )
Setup the Path variable
Parameters
- string|null $base optional null
- base path
_startSession() protected static ¶
_startSession( )
Helper method to start a session
Returns
Success
_validAgentAndTime() protected static ¶
_validAgentAndTime( )
Tests that the user agent is valid and that the session hasn't 'timed out'. Since timeouts are implemented in CakeSession it checks the current static::$time against the time the session is set to expire. The User agent is only checked if Session.checkAgent == true.
Returns
check() public static ¶
check( string $name )
Returns true if given variable is set in session.
Parameters
- string $name
- Variable name to check for
Returns
True if variable is there
clear() public static ¶
clear( boolean $renew = true )
Clears the session.
Optionally also clears the session id and renews the session.
Parameters
- boolean $renew optional true
- If the session should also be renewed. Defaults to true.
consume() public static ¶
consume( string $name )
Reads and deletes a variable from session.
Parameters
- string $name
- The key to read and remove (or a path as sent to Hash.extract).
Returns
The value of the session variable, null if session not available, session not started, or provided name not found in the session.
delete() public static ¶
delete( string $name )
Removes a variable from session.
Parameters
- string $name
- Session variable to remove
Returns
Success
error() public static ¶
error( )
Returns last occurred error as a string, if any.
Returns
Error description as a string, or false.
id() public static ¶
id( string|null $id = null )
Returns the session id. Calling this method will not auto start the session. You might have to manually assert a started session.
Passing an id into it, you can also replace the session id if the session has not already been started. Note that depending on the session handler, not all characters are allowed within the session id. For example, the file session handler only allows characters in the range a-z A-Z 0-9 , (comma) and - (minus).
Parameters
- string|null $id optional null
- Id to replace the current session id
Returns
Session id
init() public static ¶
init( string|null $base = null )
Pseudo constructor.
Parameters
- string|null $base optional null
- The base path for the Session
read() public static ¶
read( string|null $name = null )
Returns given session variable, or all of them, if no parameters given.
Parameters
- string|null $name optional null
- The name of the session variable (or a path as sent to Set.extract)
Returns
The value of the session variable, null if session not available, session not started, or provided name not found in the session, false on failure.
started() public static ¶
started( )
Determine if Session has been started.
Returns
True if session has been started.
userAgent() public static ¶
userAgent( string|null $userAgent = null )
Get / Set the user agent
Parameters
- string|null $userAgent optional null
- Set the user agent
Returns
Current user agent.
Properties detail
$_initialized ¶
Whether or not the init function in this class was already called
false
$_useForwardsCompatibleTimeout ¶
Whether or not to make _validAgentAndTime
3.x compatible.
false
$requestCountdown ¶
Number of requests that can occur during a session time without the session being renewed.
This feature is only used when config value Session.autoRegenerate
is set to true.
See
10