Class yii\web\SessionIterator
| Inheritance | yii\web\SessionIterator |
|---|---|
| Implements | Iterator |
| Available since version | 2.0 |
| Source Code | https://github.com/yiisoft/yii2/blob/master/framework/web/SessionIterator.php |
SessionIterator implements an iterator for traversing session variables managed by yii\web\Session.
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __construct() | Constructor. | yii\web\SessionIterator |
| current() | Returns the current array element. | yii\web\SessionIterator |
| key() | Returns the key of the current array element. | yii\web\SessionIterator |
| next() | Moves the internal pointer to the next array element. | yii\web\SessionIterator |
| rewind() | Rewinds internal array pointer. | yii\web\SessionIterator |
| valid() | Returns whether there is an element at current position. | yii\web\SessionIterator |
Method Details
Constructor.
| public void __construct ( ) |
public function __construct()
{
$this->_keys = array_keys(isset($_SESSION) ? $_SESSION : []);
$this->rewind();
}
Returns the current array element.
This method is required by the interface Iterator.
| public mixed current ( ) | ||
| return | mixed |
The current array element |
|---|---|---|
#[\ReturnTypeWillChange]
public function current()
{
return $this->_key !== false && isset($_SESSION[$this->_key]) ? $_SESSION[$this->_key] : null;
}
Returns the key of the current array element.
This method is required by the interface Iterator.
| public string|integer|null key ( ) | ||
| return | string|integer|null |
The key of the current array element |
|---|---|---|
#[\ReturnTypeWillChange]
public function key()
{
return $this->_key === false ? null : $this->_key;
}
Moves the internal pointer to the next array element.
This method is required by the interface Iterator.
| public void next ( ) |
#[\ReturnTypeWillChange]
public function next()
{
do {
$this->_key = next($this->_keys);
} while ($this->_key !== false && !isset($_SESSION[$this->_key]));
}
Rewinds internal array pointer.
This method is required by the interface Iterator.
| public void rewind ( ) |
#[\ReturnTypeWillChange]
public function rewind()
{
$this->_key = reset($this->_keys);
}