Class CakeSession
Session class for Cake.
Cake 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.
- Object
- CakeSession
Direct Subclasses
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: The MIT License
Location: session.php
Properties summary
-
$_userAgent
publicstring
User agent string -
$error
publicarray
Error messages for this session -
$host
publicstring
Hostname -
$id
publicstring
Current Session id -
$lastError
publicinteger
Error number of last occurred error -
$path
publicstring
Path to where the session is active. -
$security
publicstring
'Security.level' setting, "high", "medium", or "low". -
$sessionTime
publicinteger
Time when this session becomes invalid. -
$time
publicinteger
Start time for this session. -
$valid
publicboolean
True if the Session is still valid -
$watchKeys
publicarray
Keeps track of keys to watch for writes on
Inherited Properties
Method Summary
-
__close() public
Method called on close of a database session. -
__construct() public
Constructor. -
__destroy() public
Method called on the destruction of a database session. -
__error() public
Return error description for given error number. -
__gc() public
Helper function called on gc for database sessions. -
__initSession() public
Helper method to initialize a session, based on Cake core settings. -
__open() public
Method called on open of a database session. -
__overwrite() public
Used to write new data to _SESSION, since PHP doesn't like us setting the _SESSION var itself -
__read() public
Method used to read from a database session. -
__regenerateId() public
Helper method to restart a session. -
__returnSessionVars() public
Returns all session variables. -
__setError() public
Helper method to set an internal error message. -
__startSession() public
Helper method to start a session -
__validateKeys() public
Validate that the $name is in correct dot notation example: $name = 'ControllerName.key';
-
__write() public
Helper function called on write for database sessions. -
_checkValid() public
Helper method to create a new session. -
check() public
Returns true if given variable is set in session. -
del() public
Removes a variable from session. -
destroy() public
Helper method to destroy invalid sessions. -
error() public
Returns last occurred error as a string, if any. -
id() public
Returns the Session id -
ignore() public
Tells Session to stop watching a given key path -
read() public
Returns given session variable, or all of them, if no parameters given. -
renew() public
Restarts this session. -
start() public
Starts the Session. -
started() public
Determine if Session has been started. -
valid() public
Returns true if session is valid. -
watch() public
Tells Session to write a notification when a certain session path or subpath is written to -
write() public
Writes value to given session variable name.
Method Detail
__construct() public ¶
__construct( string $base = null , boolean $start = true )
Constructor.
Parameters
- string $base optional null
- The base path for the Session
- boolean $start optional true
- Should session be started right now
Overrides
__destroy() public ¶
__destroy( integer $key )
Method called on the destruction of a database session.
Parameters
- integer $key
- Key that uniquely identifies session in database
Returns
Success
__error() public ¶
__error( integer $errorNumber )
Return error description for given error number.
Parameters
- integer $errorNumber
- Error to set
Returns
Error as string
__gc() public ¶
__gc( integer $expires = null )
Helper function called on gc for database sessions.
Parameters
- integer $expires optional null
- Timestamp (defaults to current time)
Returns
Success
__initSession() public ¶
__initSession( )
Helper method to initialize a session, based on Cake core settings.
__overwrite() public ¶
__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
- Set of old variables => values
- array $new
- New set of variable => value
__read() public ¶
__read( mixed $key )
Method used to read from a database session.
Parameters
- mixed $key
- The key of the value to read
Returns
The value of the key or false if it does not exist
__returnSessionVars() public ¶
__returnSessionVars( )
Returns all session variables.
Returns
Full $_SESSION array, or false on error.
__setError() public ¶
__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
__validateKeys() public ¶
__validateKeys( string $name )
Validate that the $name is in correct dot notation example: $name = 'ControllerName.key';
Parameters
- string $name
- Session key names as string.
Returns
false is $name is not correct format, or $name if it is correct
__write() public ¶
__write( mixed $key , mixed $value )
Helper function called on write for database sessions.
Parameters
- mixed $key
- The name of the var
- mixed $value
- The value of the var
Returns
Success
check() public ¶
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
del() public ¶
del( string $name )
Removes a variable from session.
Parameters
- string $name
- Session variable to remove
Returns
Success
error() public ¶
error( )
Returns last occurred error as a string, if any.
Returns
Error description as a string, or false.
id() public ¶
id( CakeSession::$id
$id = null )
Returns the Session id
Parameters
-
CakeSession::$id
$id optional null - $name string
Returns
Session id
ignore() public ¶
ignore( mixed $var )
Tells Session to stop watching a given key path
Parameters
- mixed $var
- The variable path to watch
read() public ¶
read( mixed $name = null )
Returns given session variable, or all of them, if no parameters given.
Parameters
- mixed $name optional null
- The name of the session variable (or a path as sent to Set.extract)
Returns
The value of the session variable
started() public ¶
started( )
Determine if Session has been started.
Returns
True if session has been started.
Methods inherited from Object
Object() public ¶
Object( )
A hack to support __construct() on PHP 4 Hint: descendant classes have no PHP4 class_name() constructors, so this constructor gets called first and calls the top-layer __construct() which (if present) should call parent::__construct()
Returns
__openPersistent() public ¶
__openPersistent( string $name , string $type = null )
Open the persistent class file for reading Used by Object::_persist()
Parameters
- string $name
- Name of persisted class
- string $type optional null
- Type of persistance (e.g: registry)
_persist() public ¶
_persist( string $name , string $return , $object , $type = null )
Checks for a persistent class file, if found file is opened and true returned If file is not found a file is created and false returned If used in other locations of the model you should choose a unique name for the persistent file There are many uses for this method, see manual for examples
Parameters
- string $name
- name of the class to persist
- string $return
- $object the object to persist
- $object
- $type optional null
Returns
Success
_savePersistent() public ¶
_savePersistent( string $name , object $object )
You should choose a unique name for the persistent file
There are many uses for this method, see manual for examples
Parameters
- string $name
- name used for object to cache
- object $object
- the object to persist
Returns
true on save, throws error if file can not be created
_set() public ¶
_set( array $properties = array() )
Allows setting of multiple properties of the object in a single line of code.
Parameters
- array $properties optional array()
- An associative array containing properties and corresponding values.
_stop() public ¶
_stop( $status = 0 )
Stop execution of the current script
Parameters
- $status optional 0
- http://php.net/exit for values
cakeError() public ¶
cakeError( string $method , array $messages = array() )
Used to report user friendly errors. If there is a file app/error.php or app/app_error.php this file will be loaded error.php is the AppError class it should extend ErrorHandler class.
Parameters
- string $method
- Method to be called in the error class (AppError or ErrorHandler classes)
- array $messages optional array()
- Message that is to be displayed by the error class
Returns
message
dispatchMethod() public ¶
dispatchMethod( string $method , array $params = array() )
Calls a method on this object with the given parameters. Provides an OO wrapper for call_user_func_array, and improves performance by using straight method calls in most cases.
Parameters
- string $method
- Name of the method to call
- array $params optional array()
- Parameter list to use when calling $method
Returns
Returns the result of the method call
log() public ¶
log( string $msg , integer $type = LOG_ERROR )
API for logging events.
Parameters
- string $msg
- Log message
- integer $type optional LOG_ERROR
- Error type constant. Defined in app/config/core.php.
Returns
Success of log write
requestAction() public ¶
requestAction( mixed $url , array $extra = array() )
Calls a controller's method from any location.
Parameters
- mixed $url
- String or array-based url.
- array $extra optional array()
- if array includes the key "return" it sets the AutoRender to true.
Returns
Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString() public ¶
toString( )
Object-to-string conversion. Each class can override this method as necessary.
Returns
The name of this class