CacheSession
extends Session
in package
CacheSession implements a session component using cache as storage medium.
The cache being used can be any cache application component. The ID of the cache application component is specified via [[cache]], which defaults to 'cache'.
Beware, by definition cache storage are volatile, which means the data stored on them may be swapped out and get lost. Therefore, you must make sure the cache used by this component is NOT volatile. If you want to use database as storage medium, [[DbSession]] is a better choice.
The following example shows how you can configure the application to use CacheSession:
Add the following to your application config under components
:
'session' => [
'class' => 'yii\web\CacheSession',
// 'cache' => 'mycache',
]
Tags
Table of Contents
Properties
- $allFlashes : array<string|int, mixed>
- $behaviors : array<string|int, Behavior>
- $cache : CacheInterface|array<string|int, mixed>|string
- $cacheLimiter : string
- $cookieParams : array<string|int, mixed>
- $count : int
- $flash : string
- $flashParam : string
- $gCProbability : float
- $handler : SessionHandlerInterface|array<string|int, mixed>
- $hasSessionId : bool
- $id : string
- $isActive : bool
- $name : string
- $savePath : string
- $timeout : int
- $useCookies : bool|null
- $useCustomStorage : bool
- $useCustomStorage : bool
- $useStrictMode : bool
- $useTransparentSessionID : bool
- $_forceRegenerateId : string|null
- $_originalSessionModule : string|null
- $_behaviors : array<string|int, Behavior>|null
- $_cookieParams : array<string|int, mixed>
- $_events : array<string|int, mixed>
- $_eventWildcards : array<string|int, mixed>
- $_frozenSessionData : array<string|int, mixed>|null
- $_hasSessionId : mixed
- $_useStrictModePolyfill : mixed
- Polyfill for ini directive session.use-strict-mode for PHP < 5.5.2.
Methods
- __call() : mixed
- Calls the named method which is not a class method.
- __clone() : mixed
- This method is called after the object is created by cloning an existing one.
- __construct() : mixed
- Constructor.
- __get() : mixed
- Returns the value of a component property.
- __isset() : bool
- Checks if a property is set, i.e. defined and not null.
- __set() : mixed
- Sets the value of a component property.
- __unset() : mixed
- Sets a component property to be null.
- addFlash() : mixed
- Adds a flash message.
- attachBehavior() : Behavior
- Attaches a behavior to this component.
- attachBehaviors() : mixed
- Attaches a list of behaviors to the component.
- behaviors() : array<string|int, mixed>
- Returns a list of behaviors that this component should behave as.
- canGetProperty() : bool
- Returns a value indicating whether a property can be read.
- canSetProperty() : bool
- Returns a value indicating whether a property can be set.
- className() : string
- Returns the fully qualified name of this class.
- close() : mixed
- Ends the current session and store session data.
- count() : int
- Returns the number of items in the session.
- destroy() : mixed
- Frees all session variables and destroys all data registered to a session.
- detachBehavior() : Behavior|null
- Detaches a behavior from the component.
- detachBehaviors() : mixed
- Detaches all behaviors from the component.
- ensureBehaviors() : mixed
- Makes sure that the behaviors declared in [[behaviors()]] are attached to this component.
- get() : mixed
- Returns the session variable value with the session variable name.
- getAllFlashes() : array<string|int, mixed>
- Returns all flash messages.
- getBehavior() : Behavior|null
- Returns the named behavior object.
- getBehaviors() : array<string|int, Behavior>
- Returns all behaviors attached to this component.
- getCacheLimiter() : string
- Returns current cache limiter
- getCookieParams() : array<string|int, mixed>
- getCount() : int
- Returns the number of items in the session.
- getFlash() : mixed
- Returns a flash message.
- getGCProbability() : float
- getHasSessionId() : bool
- Returns a value indicating whether the current request has sent the session ID.
- getId() : string
- Gets the session ID.
- getIsActive() : bool
- getIterator() : SessionIterator
- Returns an iterator for traversing the session variables.
- getName() : string
- Gets the name of the current session.
- getSavePath() : string
- Gets the current session save path.
- getTimeout() : int
- getUseCookies() : bool|null
- Returns the value indicating whether cookies should be used to store session IDs.
- getUseCustomStorage() : bool
- Returns a value indicating whether to use custom session storage.
- getUseStrictMode() : bool
- getUseTransparentSessionID() : bool
- has() : bool
- hasEventHandlers() : bool
- Returns a value indicating whether there is any handler attached to the named event.
- hasFlash() : bool
- Returns a value indicating whether there are flash messages associated with the specified key.
- hasMethod() : bool
- Returns a value indicating whether a method is defined.
- hasProperty() : bool
- Returns a value indicating whether a property is defined for this component.
- init() : mixed
- Initializes the application component.
- off() : bool
- Detaches an existing event handler from this component.
- offsetExists() : bool
- This method is required by the interface [[\ArrayAccess]].
- offsetGet() : mixed
- This method is required by the interface [[\ArrayAccess]].
- offsetSet() : mixed
- This method is required by the interface [[\ArrayAccess]].
- offsetUnset() : mixed
- This method is required by the interface [[\ArrayAccess]].
- on() : mixed
- Attaches an event handler to an event.
- open() : mixed
- Starts the session.
- regenerateID() : mixed
- Updates the current session ID with a newly generated one.
- remove() : mixed
- Removes a session variable.
- removeAll() : mixed
- Removes all session variables.
- removeAllFlashes() : mixed
- Removes all flash messages.
- removeFlash() : mixed
- Removes a flash message.
- set() : mixed
- Adds a session variable.
- setCacheLimiter() : mixed
- Set cache limiter
- setCookieParams() : mixed
- Sets the session cookie parameters.
- setFlash() : mixed
- Sets a flash message.
- setGCProbability() : mixed
- setHasSessionId() : mixed
- Sets the value indicating whether the current request has sent the session ID.
- setId() : mixed
- Sets the session ID.
- setName() : mixed
- Sets the name for the current session.
- setSavePath() : mixed
- Sets the current session save path.
- setTimeout() : mixed
- setUseCookies() : mixed
- Sets the value indicating whether cookies should be used to store session IDs.
- setUseStrictMode() : mixed
- setUseTransparentSessionID() : mixed
- trigger() : mixed
- Triggers an event.
- calculateKey() : mixed
- Generates a unique key used for storing session data in cache.
- freeze() : mixed
- If session is started it's not possible to edit session ini settings. In PHP7.2+ it throws exception.
- registerSessionHandler() : mixed
- Registers session handler.
- unfreeze() : mixed
- Starts session and restores data from temporary variable
- updateFlashCounters() : mixed
- Updates the counters for flash messages and removes outdated flash messages.
- attachBehaviorInternal() : Behavior
- Attaches a behavior to this component.
- setCookieParamsInternal() : mixed
- Sets the session cookie parameters.
Properties
$allFlashes read-only
public
array<string|int, mixed>
$allFlashes
Flash messages (key => message or key => [message1, message2]).
$behaviors read-only
public
array<string|int, Behavior>
$behaviors
List of behaviors attached to this component.
$cache
public
CacheInterface|array<string|int, mixed>|string
$cache
= 'cache'
the cache object or the application component ID of the cache object. The session data will be stored using this cache object.
After the CacheSession object is created, if you want to change this property, you should only assign it with a cache object.
Starting from version 2.0.2, this can also be a configuration array for creating the object.
$cacheLimiter read-only
public
string
$cacheLimiter
Current cache limiter.
$cookieParams read-only
public
array<string|int, mixed>
$cookieParams
The session cookie parameters.
$count read-only
public
int
$count
The number of session variables.
$flash write-only
public
string
$flash
The key identifying the flash message. Note that flash messages and normal session variables share the same name space. If you have a normal session variable using the same name, its value will be overwritten by this method.
$flashParam
public
string
$flashParam
= '__flash'
the name of the session variable that stores the flash message data.
$gCProbability
public
float
$gCProbability
The probability (percentage) that the GC (garbage collection) process is started on every session initialization.
$handler
public
SessionHandlerInterface|array<string|int, mixed>
$handler
an object implementing the SessionHandlerInterface or a configuration array. If set, will be used to provide persistency instead of build-in methods.
$hasSessionId
public
bool
$hasSessionId
Whether the current request has sent the session ID.
$id
public
string
$id
The current session ID.
$isActive read-only
public
bool
$isActive
Whether the session has started.
$name
public
string
$name
The current session name.
$savePath
public
string
$savePath
The current session save path, defaults to '/tmp'.
$timeout
public
int
$timeout
The number of seconds after which data will be seen as 'garbage' and cleaned up. The default value is 1440 seconds (or the value of "session.gc_maxlifetime" set in php.ini).
$useCookies
public
bool|null
$useCookies
The value indicating whether cookies should be used to store session IDs.
$useCustomStorage read-only
public
bool
$useCustomStorage
Whether to use custom storage.
$useCustomStorage read-only
public
bool
$useCustomStorage
Whether to use custom storage.
$useStrictMode
public
bool
$useStrictMode
Whether strict mode is enabled or not.
$useTransparentSessionID
public
bool
$useTransparentSessionID
Whether transparent sid support is enabled or not, defaults to false.
$_forceRegenerateId
protected
string|null
$_forceRegenerateId
= null
Holds the session id in case useStrictMode is enabled and the session id needs to be regenerated
$_originalSessionModule
protected
static string|null
$_originalSessionModule
= null
Holds the original session module (before a custom handler is registered) so that it can be restored when a Session component without custom handler is used after one that has.
$_behaviors
private
array<string|int, Behavior>|null
$_behaviors
the attached behaviors (behavior name => behavior). This is null
when not initialized.
$_cookieParams
private
array<string|int, mixed>
$_cookieParams
= ['httponly' => true]
parameter-value pairs to override default session cookie parameters that are used for session_set_cookie_params() function Array may have the following possible keys: 'lifetime', 'path', 'domain', 'secure', 'httponly'
Tags
$_events
private
array<string|int, mixed>
$_events
= []
the attached event handlers (event name => handlers)
$_eventWildcards
private
array<string|int, mixed>
$_eventWildcards
= []
the event handlers attached for wildcard patterns (event name wildcard => handlers)
Tags
$_frozenSessionData
private
array<string|int, mixed>|null
$_frozenSessionData
is used for saving session between recreations due to session parameters update.
$_hasSessionId
private
mixed
$_hasSessionId
$_useStrictModePolyfill
Polyfill for ini directive session.use-strict-mode for PHP < 5.5.2.
private
static mixed
$_useStrictModePolyfill
= false
Methods
__call()
Calls the named method which is not a class method.
public
__call(string $name, array<string|int, mixed> $params) : mixed
This method will check if any attached behavior has the named method and will execute it if available.
Do not call this method directly as it is a PHP magic method that will be implicitly called when an unknown method is being invoked.
Parameters
- $name : string
-
the method name
- $params : array<string|int, mixed>
-
method parameters
Tags
Return values
mixed —the method return value
__clone()
This method is called after the object is created by cloning an existing one.
public
__clone() : mixed
It removes all behaviors because they are attached to the old object.
__construct()
Constructor.
public
__construct([array<string|int, mixed> $config = [] ]) : mixed
The default implementation does two things:
- Initializes the object with the given configuration
$config
. - Call [[init()]].
If this method is overridden in a child class, it is recommended that
- the last parameter of the constructor is a configuration array, like
$config
here. - call the parent implementation at the end of the constructor.
Parameters
- $config : array<string|int, mixed> = []
-
name-value pairs that will be used to initialize the object properties
__get()
Returns the value of a component property.
public
__get(string $name) : mixed
This method will check in the following order and act accordingly:
- a property defined by a getter: return the getter result
- a property of a behavior: return the behavior property value
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing $value = $component->property;
.
Parameters
- $name : string
-
the property name
Tags
Return values
mixed —the property value or the value of a behavior's property
__isset()
Checks if a property is set, i.e. defined and not null.
public
__isset(string $name) : bool
This method will check in the following order and act accordingly:
- a property defined by a setter: return whether the property is set
- a property of a behavior: return whether the property is set
- return
false
for non existing properties
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing isset($component->property)
.
Parameters
- $name : string
-
the property name or the event name
Tags
Return values
bool —whether the named property is set
__set()
Sets the value of a component property.
public
__set(string $name, mixed $value) : mixed
This method will check in the following order and act accordingly:
- a property defined by a setter: set the property value
- an event in the format of "on xyz": attach the handler to the event "xyz"
- a behavior in the format of "as xyz": attach the behavior named as "xyz"
- a property of a behavior: set the behavior property value
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing $component->property = $value;
.
Parameters
- $name : string
-
the property name or the event name
- $value : mixed
-
the property value
Tags
__unset()
Sets a component property to be null.
public
__unset(string $name) : mixed
This method will check in the following order and act accordingly:
- a property defined by a setter: set the property value to be null
- a property of a behavior: set the property value to be null
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing unset($component->property)
.
Parameters
- $name : string
-
the property name
Tags
addFlash()
Adds a flash message.
public
addFlash(string $key[, mixed $value = true ][, bool $removeAfterAccess = true ]) : mixed
If there are existing flash messages with the same key, the new one will be appended to the existing message array.
Parameters
- $key : string
-
the key identifying the flash message.
- $value : mixed = true
-
flash message
- $removeAfterAccess : bool = true
-
whether the flash message should be automatically removed only if it is accessed. If false, the flash message will be automatically removed after the next request, regardless if it is accessed or not. If true (default value), the flash message will remain until after it is accessed.
Tags
attachBehavior()
Attaches a behavior to this component.
public
attachBehavior(string $name, string|array<string|int, mixed>|Behavior $behavior) : Behavior
This method will create the behavior object based on the given configuration. After that, the behavior object will be attached to this component by calling the [[Behavior::attach()]] method.
Parameters
- $name : string
-
the name of the behavior.
- $behavior : string|array<string|int, mixed>|Behavior
-
the behavior configuration. This can be one of the following:
- a [[Behavior]] object
- a string specifying the behavior class
- an object configuration array that will be passed to [[Yii::createObject()]] to create the behavior object.
Tags
Return values
Behavior —the behavior object
attachBehaviors()
Attaches a list of behaviors to the component.
public
attachBehaviors(array<string|int, mixed> $behaviors) : mixed
Each behavior is indexed by its name and should be a [[Behavior]] object, a string specifying the behavior class, or an configuration array for creating the behavior.
Parameters
- $behaviors : array<string|int, mixed>
-
list of behaviors to be attached to the component
Tags
behaviors()
Returns a list of behaviors that this component should behave as.
public
behaviors() : array<string|int, mixed>
Child classes may override this method to specify the behaviors they want to behave as.
The return value of this method should be an array of behavior objects or configurations indexed by behavior names. A behavior configuration can be either a string specifying the behavior class or an array of the following structure:
'behaviorName' => [
'class' => 'BehaviorClass',
'property1' => 'value1',
'property2' => 'value2',
]
Note that a behavior class must extend from [[Behavior]]. Behaviors can be attached using a name or anonymously. When a name is used as the array key, using this name, the behavior can later be retrieved using [[getBehavior()]] or be detached using [[detachBehavior()]]. Anonymous behaviors can not be retrieved or detached.
Behaviors declared in this method will be attached to the component automatically (on demand).
Return values
array<string|int, mixed> —the behavior configurations.
canGetProperty()
Returns a value indicating whether a property can be read.
public
canGetProperty(string $name[, bool $checkVars = true ][, bool $checkBehaviors = true ]) : bool
A property can be read if:
- the class has a getter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true); - an attached behavior has a readable property of the given name (when
$checkBehaviors
is true).
Parameters
- $name : string
-
the property name
- $checkVars : bool = true
-
whether to treat member variables as properties
- $checkBehaviors : bool = true
-
whether to treat behaviors' properties as properties of this component
Tags
Return values
bool —whether the property can be read
canSetProperty()
Returns a value indicating whether a property can be set.
public
canSetProperty(string $name[, bool $checkVars = true ][, bool $checkBehaviors = true ]) : bool
A property can be written if:
- the class has a setter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true); - an attached behavior has a writable property of the given name (when
$checkBehaviors
is true).
Parameters
- $name : string
-
the property name
- $checkVars : bool = true
-
whether to treat member variables as properties
- $checkBehaviors : bool = true
-
whether to treat behaviors' properties as properties of this component
Tags
Return values
bool —whether the property can be written
className()
Returns the fully qualified name of this class.
public
static className() : string
Tags
Return values
string —the fully qualified name of this class.
close()
Ends the current session and store session data.
public
close() : mixed
count()
Returns the number of items in the session.
public
count() : int
This method is required by [[\Countable]] interface.
Attributes
Return values
int —number of items in the session.
destroy()
Frees all session variables and destroys all data registered to a session.
public
destroy() : mixed
This method has no effect when session is not [[getIsActive()|active]]. Make sure to call [[open()]] before calling it.
Tags
detachBehavior()
Detaches a behavior from the component.
public
detachBehavior(string $name) : Behavior|null
The behavior's [[Behavior::detach()]] method will be invoked.
Parameters
- $name : string
-
the behavior's name.
Return values
Behavior|null —the detached behavior. Null if the behavior does not exist.
detachBehaviors()
Detaches all behaviors from the component.
public
detachBehaviors() : mixed
ensureBehaviors()
Makes sure that the behaviors declared in [[behaviors()]] are attached to this component.
public
ensureBehaviors() : mixed
get()
Returns the session variable value with the session variable name.
public
get(string $key[, mixed $defaultValue = null ]) : mixed
If the session variable does not exist, the $defaultValue
will be returned.
Parameters
- $key : string
-
the session variable name
- $defaultValue : mixed = null
-
the default value to be returned when the session variable does not exist.
Return values
mixed —the session variable value, or $defaultValue if the session variable does not exist.
getAllFlashes()
Returns all flash messages.
public
getAllFlashes([bool $delete = false ]) : array<string|int, mixed>
You may use this method to display all the flash messages in a view file:
<?php
foreach (Yii::$app->session->getAllFlashes() as $key => $message) {
echo '<div class="alert alert-' . $key . '">' . $message . '</div>';
} ?>
With the above code you can use the bootstrap alert classes such as success
, info
, danger
as the flash message key to influence the color of the div.
Note that if you use [[addFlash()]], $message
will be an array, and you will have to adjust the above code.
Parameters
- $delete : bool = false
-
whether to delete the flash messages right after this method is called. If false, the flash messages will be automatically deleted in the next request.
Tags
Return values
array<string|int, mixed> —flash messages (key => message or key => [message1, message2]).
getBehavior()
Returns the named behavior object.
public
getBehavior(string $name) : Behavior|null
Parameters
- $name : string
-
the behavior name
Return values
Behavior|null —the behavior object, or null if the behavior does not exist
getBehaviors()
Returns all behaviors attached to this component.
public
getBehaviors() : array<string|int, Behavior>
Return values
array<string|int, Behavior> —list of behaviors attached to this component
getCacheLimiter()
Returns current cache limiter
public
getCacheLimiter() : string
Tags
Return values
string —current cache limiter
getCookieParams()
public
getCookieParams() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —the session cookie parameters.
getCount()
Returns the number of items in the session.
public
getCount() : int
Return values
int —the number of session variables
getFlash()
Returns a flash message.
public
getFlash(string $key[, mixed $defaultValue = null ][, bool $delete = false ]) : mixed
Parameters
- $key : string
-
the key identifying the flash message
- $defaultValue : mixed = null
-
value to be returned if the flash message does not exist.
- $delete : bool = false
-
whether to delete this flash message right after this method is called. If false, the flash message will be automatically deleted in the next request.
Tags
Return values
mixed —the flash message or an array of messages if addFlash was used
getGCProbability()
public
getGCProbability() : float
Return values
float —the probability (percentage) that the GC (garbage collection) process is started on every session initialization.
getHasSessionId()
Returns a value indicating whether the current request has sent the session ID.
public
getHasSessionId() : bool
The default implementation will check cookie and $_GET using the session name. If you send session ID via other ways, you may need to override this method or call [[setHasSessionId()]] to explicitly set whether the session ID is sent.
Return values
bool —whether the current request has sent the session ID.
getId()
Gets the session ID.
public
getId() : string
This is a wrapper for PHP session_id().
Return values
string —the current session ID
getIsActive()
public
getIsActive() : bool
Return values
bool —whether the session has started
getIterator()
Returns an iterator for traversing the session variables.
public
getIterator() : SessionIterator
This method is required by the interface [[\IteratorAggregate]].
Attributes
Return values
SessionIterator —an iterator for traversing the session variables.
getName()
Gets the name of the current session.
public
getName() : string
This is a wrapper for PHP session_name().
Return values
string —the current session name
getSavePath()
Gets the current session save path.
public
getSavePath() : string
This is a wrapper for PHP session_save_path().
Return values
string —the current session save path, defaults to '/tmp'.
getTimeout()
public
getTimeout() : int
Return values
int —the number of seconds after which data will be seen as 'garbage' and cleaned up. The default value is 1440 seconds (or the value of "session.gc_maxlifetime" set in php.ini).
getUseCookies()
Returns the value indicating whether cookies should be used to store session IDs.
public
getUseCookies() : bool|null
Tags
Return values
bool|null —the value indicating whether cookies should be used to store session IDs.
getUseCustomStorage()
Returns a value indicating whether to use custom session storage.
public
getUseCustomStorage() : bool
This method overrides the parent implementation and always returns true.
Return values
bool —whether to use custom storage.
getUseStrictMode()
public
getUseStrictMode() : bool
Tags
Return values
bool —Whether strict mode is enabled or not.
getUseTransparentSessionID()
public
getUseTransparentSessionID() : bool
Return values
bool —whether transparent sid support is enabled or not, defaults to false.
has()
public
has(mixed $key) : bool
Parameters
- $key : mixed
-
session variable name
Return values
bool —whether there is the named session variable
hasEventHandlers()
Returns a value indicating whether there is any handler attached to the named event.
public
hasEventHandlers(string $name) : bool
Parameters
- $name : string
-
the event name
Return values
bool —whether there is any handler attached to the event.
hasFlash()
Returns a value indicating whether there are flash messages associated with the specified key.
public
hasFlash(string $key) : bool
Parameters
- $key : string
-
key identifying the flash message type
Return values
bool —whether any flash messages exist under specified key
hasMethod()
Returns a value indicating whether a method is defined.
public
hasMethod(string $name[, bool $checkBehaviors = true ]) : bool
A method is defined if:
- the class has a method with the specified name
- an attached behavior has a method with the given name (when
$checkBehaviors
is true).
Parameters
- $name : string
-
the property name
- $checkBehaviors : bool = true
-
whether to treat behaviors' methods as methods of this component
Return values
bool —whether the method is defined
hasProperty()
Returns a value indicating whether a property is defined for this component.
public
hasProperty(string $name[, bool $checkVars = true ][, bool $checkBehaviors = true ]) : bool
A property is defined if:
- the class has a getter or setter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true); - an attached behavior has a property of the given name (when
$checkBehaviors
is true).
Parameters
- $name : string
-
the property name
- $checkVars : bool = true
-
whether to treat member variables as properties
- $checkBehaviors : bool = true
-
whether to treat behaviors' properties as properties of this component
Tags
Return values
bool —whether the property is defined
init()
Initializes the application component.
public
init() : mixed
off()
Detaches an existing event handler from this component.
public
off(string $name[, callable|null $handler = null ]) : bool
This method is the opposite of [[on()]].
Note: in case wildcard pattern is passed for event name, only the handlers registered with this wildcard will be removed, while handlers registered with plain names matching this wildcard will remain.
Parameters
- $name : string
-
event name
- $handler : callable|null = null
-
the event handler to be removed. If it is null, all handlers attached to the named event will be removed.
Tags
Return values
bool —if a handler is found and detached
offsetExists()
This method is required by the interface [[\ArrayAccess]].
public
offsetExists(int|string $offset) : bool
Parameters
- $offset : int|string
-
the offset to check on
Attributes
Return values
booloffsetGet()
This method is required by the interface [[\ArrayAccess]].
public
offsetGet(int|string $offset) : mixed
Parameters
- $offset : int|string
-
the offset to retrieve element.
Attributes
Return values
mixed —the element at the offset, null if no element is found at the offset
offsetSet()
This method is required by the interface [[\ArrayAccess]].
public
offsetSet(int|string $offset, mixed $item) : mixed
Parameters
- $offset : int|string
-
the offset to set element
- $item : mixed
-
the element value
Attributes
offsetUnset()
This method is required by the interface [[\ArrayAccess]].
public
offsetUnset(int|string $offset) : mixed
Parameters
- $offset : int|string
-
the offset to unset element
Attributes
on()
Attaches an event handler to an event.
public
on(string $name, callable $handler[, mixed $data = null ][, bool $append = true ]) : mixed
The event handler must be a valid PHP callback. The following are some examples:
function ($event) { ... } // anonymous function
[$object, 'handleClick'] // $object->handleClick()
['Page', 'handleClick'] // Page::handleClick()
'handleClick' // global function handleClick()
The event handler must be defined with the following signature,
function ($event)
where $event
is an [[Event]] object which includes parameters associated with the event.
Since 2.0.14 you can specify event name as a wildcard pattern:
$component->on('event.group.*', function ($event) {
Yii::trace($event->name . ' is triggered.');
});
Parameters
- $name : string
-
the event name
- $handler : callable
-
the event handler
- $data : mixed = null
-
the data to be passed to the event handler when the event is triggered. When the event handler is invoked, this data can be accessed via [[Event::data]].
- $append : bool = true
-
whether to append new event handler to the end of the existing handler list. If false, the new handler will be inserted at the beginning of the existing handler list.
Tags
open()
Starts the session.
public
open() : mixed
regenerateID()
Updates the current session ID with a newly generated one.
public
regenerateID([bool $deleteOldSession = false ]) : mixed
Please refer to https://www.php.net/session_regenerate_id for more details.
This method has no effect when session is not [[getIsActive()|active]]. Make sure to call [[open()]] before calling it.
Parameters
- $deleteOldSession : bool = false
-
Whether to delete the old associated session file or not.
Tags
remove()
Removes a session variable.
public
remove(string $key) : mixed
Parameters
- $key : string
-
the name of the session variable to be removed
Return values
mixed —the removed value, null if no such session variable.
removeAll()
Removes all session variables.
public
removeAll() : mixed
removeAllFlashes()
Removes all flash messages.
public
removeAllFlashes() : mixed
Note that flash messages and normal session variables share the same name space. If you have a normal session variable using the same name, it will be removed by this method.
Tags
removeFlash()
Removes a flash message.
public
removeFlash(string $key) : mixed
Parameters
- $key : string
-
the key identifying the flash message. Note that flash messages and normal session variables share the same name space. If you have a normal session variable using the same name, it will be removed by this method.
Tags
Return values
mixed —the removed flash message. Null if the flash message does not exist.
set()
Adds a session variable.
public
set(string $key, mixed $value) : mixed
If the specified name already exists, the old value will be overwritten.
Parameters
- $key : string
-
session variable name
- $value : mixed
-
session variable value
setCacheLimiter()
Set cache limiter
public
setCacheLimiter(string $cacheLimiter) : mixed
Parameters
- $cacheLimiter : string
Tags
setCookieParams()
Sets the session cookie parameters.
public
setCookieParams(array<string|int, mixed> $value) : mixed
The cookie parameters passed to this method will be merged with the result
of session_get_cookie_params()
.
Parameters
- $value : array<string|int, mixed>
-
cookie parameters, valid keys include:
lifetime
,path
,domain
,secure
andhttponly
. Starting with Yii 2.0.21sameSite
is also supported. It requires PHP version 7.3.0 or higher. For security, an exception will be thrown ifsameSite
is set while using an unsupported version of PHP. To use this feature across different PHP versions check the version first. E.g.[ 'sameSite' => PHP_VERSION_ID >= 70300 ? yii\web\Cookie::SAME_SITE_LAX : null, ]
See https://owasp.org/www-community/SameSite for more information about
sameSite
.
Tags
setFlash()
Sets a flash message.
public
setFlash(string $key[, mixed $value = true ][, bool $removeAfterAccess = true ]) : mixed
A flash message will be automatically deleted after it is accessed in a request and the deletion will happen in the next request. If there is already an existing flash message with the same key, it will be overwritten by the new one.
Parameters
- $key : string
-
the key identifying the flash message. Note that flash messages and normal session variables share the same name space. If you have a normal session variable using the same name, its value will be overwritten by this method.
- $value : mixed = true
-
flash message
- $removeAfterAccess : bool = true
-
whether the flash message should be automatically removed only if it is accessed. If false, the flash message will be automatically removed after the next request, regardless if it is accessed or not. If true (default value), the flash message will remain until after it is accessed.
Tags
setGCProbability()
public
setGCProbability(float $value) : mixed
Parameters
- $value : float
-
the probability (percentage) that the GC (garbage collection) process is started on every session initialization.
Tags
setHasSessionId()
Sets the value indicating whether the current request has sent the session ID.
public
setHasSessionId(bool $value) : mixed
This method is provided so that you can override the default way of determining whether the session ID is sent.
Parameters
- $value : bool
-
whether the current request has sent the session ID.
setId()
Sets the session ID.
public
setId(string $value) : mixed
This is a wrapper for PHP session_id().
Parameters
- $value : string
-
the session ID for the current session
setName()
Sets the name for the current session.
public
setName(string $value) : mixed
This is a wrapper for PHP session_name().
Parameters
- $value : string
-
the session name for the current session, must be an alphanumeric string. It defaults to "PHPSESSID".
setSavePath()
Sets the current session save path.
public
setSavePath(string $value) : mixed
This is a wrapper for PHP session_save_path().
Parameters
- $value : string
-
the current session save path. This can be either a directory name or a path alias.
Tags
setTimeout()
public
setTimeout(int $value) : mixed
Parameters
- $value : int
-
the number of seconds after which data will be seen as 'garbage' and cleaned up
setUseCookies()
Sets the value indicating whether cookies should be used to store session IDs.
public
setUseCookies(bool|null $value) : mixed
Three states are possible:
- true: cookies and only cookies will be used to store session IDs.
- false: cookies will not be used to store session IDs.
- null: if possible, cookies will be used to store session IDs; if not, other mechanisms will be used (e.g. GET parameter)
Parameters
- $value : bool|null
-
the value indicating whether cookies should be used to store session IDs.
setUseStrictMode()
public
setUseStrictMode(bool $value) : mixed
Parameters
- $value : bool
-
Whether strict mode is enabled or not. When
true
this setting prevents the session component to use an uninitialized session ID. Note: EnablinguseStrictMode
on PHP < 5.5.2 is only supported with custom storage classes. Warning! Although enabling strict mode is mandatory for secure sessions, the default value of 'session.use-strict-mode' is0
.
Tags
setUseTransparentSessionID()
public
setUseTransparentSessionID(bool $value) : mixed
Parameters
- $value : bool
-
whether transparent sid support is enabled or not.
trigger()
Triggers an event.
public
trigger(string $name[, Event|null $event = null ]) : mixed
This method represents the happening of an event. It invokes all attached handlers for the event including class-level handlers.
Parameters
- $name : string
-
the event name
- $event : Event|null = null
-
the event instance. If not set, a default [[Event]] object will be created.
calculateKey()
Generates a unique key used for storing session data in cache.
protected
calculateKey(string $id) : mixed
Parameters
- $id : string
-
session variable name
Return values
mixed —a safe cache key associated with the session variable name
freeze()
If session is started it's not possible to edit session ini settings. In PHP7.2+ it throws exception.
protected
freeze() : mixed
This function saves session data to temporary variable and stop session.
Tags
registerSessionHandler()
Registers session handler.
protected
registerSessionHandler() : mixed
Tags
unfreeze()
Starts session and restores data from temporary variable
protected
unfreeze() : mixed
Tags
updateFlashCounters()
Updates the counters for flash messages and removes outdated flash messages.
protected
updateFlashCounters() : mixed
This method should only be called once in [[init()]].
attachBehaviorInternal()
Attaches a behavior to this component.
private
attachBehaviorInternal(string|int $name, string|array<string|int, mixed>|Behavior $behavior) : Behavior
Parameters
- $name : string|int
-
the name of the behavior. If this is an integer, it means the behavior is an anonymous one. Otherwise, the behavior is a named one and any existing behavior with the same name will be detached first.
- $behavior : string|array<string|int, mixed>|Behavior
-
the behavior to be attached
Return values
Behavior —the attached behavior.
setCookieParamsInternal()
Sets the session cookie parameters.
private
setCookieParamsInternal() : mixed
This method is called by [[open()]] when it is about to open the session.