| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 | <?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{    private $name = 'attributes';    /**     * @var string     */    private $storageKey;    /**     * @var array     */    protected $attributes = array();    /**     * Constructor.     *     * @param string $storageKey The key used to store flashes in the session.     */    public function __construct($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;    }}
 |