1: <?php
2:
3: /*
4: * This file is part of the Symfony package.
5: *
6: * (c) Fabien Potencier <fabien@symfony.com>
7: *
8: * For the full copyright and license information, please view the LICENSE
9: * file that was distributed with this source code.
10: */
11:
12: namespace Symfony\Component\HttpFoundation\Session\Attribute;
13:
14: use Symfony\Component\HttpFoundation\Session\SessionBagInterface;
15:
16: /**
17: * Attributes store.
18: *
19: * @author Drak <drak@zikula.org>
20: */
21: interface AttributeBagInterface extends SessionBagInterface
22: {
23: /**
24: * Checks if an attribute is defined.
25: *
26: * @param string $name The attribute name
27: *
28: * @return Boolean true if the attribute is defined, false otherwise
29: */
30: public function has($name);
31:
32: /**
33: * Returns an attribute.
34: *
35: * @param string $name The attribute name
36: * @param mixed $default The default value if not found.
37: *
38: * @return mixed
39: */
40: public function get($name, $default = null);
41:
42: /**
43: * Sets an attribute.
44: *
45: * @param string $name
46: * @param mixed $value
47: */
48: public function set($name, $value);
49:
50: /**
51: * Returns attributes.
52: *
53: * @return array Attributes
54: */
55: public function all();
56:
57: /**
58: * Sets attributes.
59: *
60: * @param array $attributes Attributes
61: */
62: public function replace(array $attributes);
63:
64: /**
65: * Removes an attribute.
66: *
67: * @param string $name
68: *
69: * @return mixed The removed value
70: */
71: public function remove($name);
72: }
73: