AttributeBag
class
AttributeBag implements
AttributeBagInterface, IteratorAggregate, Countable
This class relates to session attribute storage.
Properties
Methods
public
|
|
__construct(string $storageKey = '_sf2_attributes')
|
No description
|
|
public
|
string |
getName()
|
Gets this bag's name. |
|
public
|
|
setName($name)
|
No description
|
|
public
|
|
initialize(array $attributes)
|
Initializes the Bag. |
|
public
|
string |
getStorageKey()
|
Gets the storage key for this bag. |
|
public
|
bool |
has(string $name)
|
Checks if an attribute is defined. |
|
public
|
mixed |
get(string $name, mixed $default = null)
|
Returns an attribute. |
|
public
|
|
set(string $name, mixed $value)
|
Sets an attribute. |
|
public
|
array |
all()
|
Returns attributes. |
|
public
|
|
replace(array $attributes)
|
Sets attributes. |
|
public
|
mixed |
remove(string $name)
|
Removes an attribute. |
|
public
|
mixed |
clear()
|
Clears out data from bag. |
|
public
|
ArrayIterator |
getIterator()
|
Returns an iterator for attributes. |
|
public
|
int |
count()
|
Returns the number of attributes. |
|
Details
__construct()
public __construct(string $storageKey = '_sf2_attributes')
Parameters
string |
$storageKey |
The key used to store attributes in the session |
getName()
public string getName()
setName()
public setName($name)
initialize()
public initialize(array $attributes)
getStorageKey()
public string getStorageKey()
Gets the storage key for this bag.
Return Value
has()
public bool has(string $name)
Checks if an attribute is defined.
Parameters
string |
$name |
The attribute name |
Return Value
bool |
true if the attribute is defined, false otherwise |
get()
public mixed get(string $name, mixed $default = null)
Parameters
string |
$name |
The attribute name |
mixed |
$default |
The default value if not found |
Return Value
set()
public set(string $name, mixed $value)
Parameters
string |
$name |
|
mixed |
$value |
|
replace()
public replace(array $attributes)
Parameters
array |
$attributes |
Attributes |
remove()
public mixed remove(string $name)
Parameters
Return Value
mixed |
The removed value or null when it does not exist |
clear()
public mixed clear()
Clears out data from bag.
Return Value
mixed |
Whatever data was contained |
Returns an iterator for attributes.
Return Value
count()
public int count()
Returns the number of attributes.
Return Value
int |
The number of attributes |
Source code
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\HttpFoundation\Session\Attribute;
/**
* This class relates to session attribute storage.
*/
class AttributeBag implements AttributeBagInterface, \IteratorAggregate, \Countable
{
private $name = 'attributes';
private $storageKey;
protected $attributes = array();
/**
* @param string $storageKey The key used to store attributes in the session
*/
public function __construct(string $storageKey = '_sf2_attributes')
{
$this->storageKey = $storageKey;
}
/**
* {@inheritdoc}
*/
public function getName()
{
return $this->name;
}
public function setName($name)
{
$this->name = $name;
}
/**
* {@inheritdoc}
*/
public function initialize(array &$attributes)
{
$this->attributes = &$attributes;
}
/**
* {@inheritdoc}
*/
public function getStorageKey()
{
return $this->storageKey;
}
/**
* {@inheritdoc}
*/
public function has($name)
{
return array_key_exists($name, $this->attributes);
}
/**
* {@inheritdoc}
*/
public function get($name, $default = null)
{
return array_key_exists($name, $this->attributes) ? $this->attributes[$name] : $default;
}
/**
* {@inheritdoc}
*/
public function set($name, $value)
{
$this->attributes[$name] = $value;
}
/**
* {@inheritdoc}
*/
public function all()
{
return $this->attributes;
}
/**
* {@inheritdoc}
*/
public function replace(array $attributes)
{
$this->attributes = array();
foreach ($attributes as $key => $value) {
$this->set($key, $value);
}
}
/**
* {@inheritdoc}
*/
public function remove($name)
{
$retval = null;
if (array_key_exists($name, $this->attributes)) {
$retval = $this->attributes[$name];
unset($this->attributes[$name]);
}
return $retval;
}
/**
* {@inheritdoc}
*/
public function clear()
{
$return = $this->attributes;
$this->attributes = array();
return $return;
}
/**
* Returns an iterator for attributes.
*
* @return \ArrayIterator An \ArrayIterator instance
*/
public function getIterator()
{
return new \ArrayIterator($this->attributes);
}
/**
* Returns the number of attributes.
*
* @return int The number of attributes
*/
public function count()
{
return count($this->attributes);
}
}