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
- Session cookie name
string
- Whether or not the init function in this class was already called
boolean
- User agent string
string
- Cookie lifetime
integer
- Error messages for this session
array
- Hostname
string
- Current Session id
string
- Error number of last occurred error
integer
- Path to where the session is active.
string
-
integer
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. - Time when this session becomes invalid.
integer
- Start time for this session.
integer
- Session timeout multiplier factor
integer
- True if the Session is still valid
boolean
Method Summary
- Helper method to create a new session.
- Helper method to initialize a session, based on CakePHP core settings.
- Get session cookie name.
- Get one of the prebaked default session configurations.
- Return error description for given error number.
- Find the handler class and make sure it implements the correct interface.
- Returns whether a session exists
- Used to write new data to _SESSION, since PHP doesn't like us setting the _SESSION var itself.
- Returns all session variables.
- Helper method to set an internal error message.
- Set the host name
- Setup the Path variable
- Helper method to start a session
-
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.
- Writes configuration variables to the session
- Returns true if given variable is set in session.
- Clears the session.
- Reads and deletes a variable from session.
- Removes a variable from session.
- Helper method to destroy invalid sessions.
- Returns last occurred error as a string, if any.
-
Returns the session id. Calling this method will not auto start the session. You might have to manually assert a started session.
- Pseudo constructor.
- Returns given session variable, or all of them, if no parameters given.
- Restarts this session.
- Starts the Session.
- Determine if Session has been started.
- Get / Set the user agent
- Returns true if session is valid.
- Writes value to given session variable name.
Method Detail
_configureSession()source 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
CakeSessionException
Throws exceptions when ini_set() fails.
_defaultConfig()source protected static
_defaultConfig( string $name )
Get one of the prebaked default session configurations.
Parameters
- string
$name
- Config name.
Returns
boolean|array_error()source protected static
_error( integer $errorNumber )
Return error description for given error number.
Parameters
- integer
$errorNumber
- Error to set
Returns
stringError as string
_getHandler()source protected static
_getHandler( string $handler )
Find the handler class and make sure it implements the correct interface.
Parameters
- string
$handler
- Handler name.
Throws
CakeSessionException
_hasSession()source protected static
_hasSession( )
Returns whether a session exists
Returns
boolean_overwrite()source 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()source protected static
_returnSessionVars( )
Returns all session variables.
Returns
mixedFull $_SESSION array, or false on error.
_setError()source 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()source protected static
_setHost( string $host )
Set the host name
Parameters
- string
$host
- Hostname
_setPath()source protected static
_setPath( string|null $base null )
Setup the Path variable
Parameters
- string|null
$base
optional null - base path
_startSession()source protected static
_startSession( )
Helper method to start a session
Returns
booleanSuccess
_validAgentAndTime()source 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
booleancheck()source public static
check( string $name )
Returns true if given variable is set in session.
Parameters
- string
$name
- Variable name to check for
Returns
booleanTrue if variable is there
clear()source 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()source 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
mixedThe value of the session variable, null if session not available, session not started, or provided name not found in the session.
delete()source public static
delete( string $name )
Removes a variable from session.
Parameters
- string
$name
- Session variable to remove
Returns
booleanSuccess
error()source public static
error( )
Returns last occurred error as a string, if any.
Returns
mixedError description as a string, or false.
id()source 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
stringSession id
init()source public static
init( string|null $base null )
Pseudo constructor.
Parameters
- string|null
$base
optional null - The base path for the Session
read()source 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
mixedThe 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()source public static
started( )
Determine if Session has been started.
Returns
booleanTrue if session has been started.
userAgent()source public static
userAgent( string|null $userAgent null )
Get / Set the user agent
Parameters
- string|null
$userAgent
optional null - Set the user agent
Returns
stringCurrent user agent.
write()source public static
write( string|array $name , string $value null )
Writes value to given session variable name.
Parameters
- string|array
$name
- Name of variable
- string
$value
optional null - Value to write
Returns
booleanTrue if the write was successful, false if the write failed
Properties detail
$_initializedsource
protected static boolean
Whether or not the init function in this class was already called
false
$requestCountdownsource
public static integer
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
CakeSession::_checkValid()10
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.10/class-CakeSession.html