Open Journal Systems  3.3.0
lib/vendor/symfony/http-foundation/Session/Session.php
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 
13 
20 
27 class Session implements SessionInterface, \IteratorAggregate, \Countable
28 {
34  protected $storage;
35 
39  private $flashName;
40 
44  private $attributeName;
45 
53  public function __construct(SessionStorageInterface $storage = null, AttributeBagInterface $attributes = null, FlashBagInterface $flashes = null)
54  {
55  $this->storage = $storage ?: new NativeSessionStorage();
56 
57  $attributes = $attributes ?: new AttributeBag();
58  $this->attributeName = $attributes->getName();
59  $this->registerBag($attributes);
60 
61  $flashes = $flashes ?: new FlashBag();
62  $this->flashName = $flashes->getName();
63  $this->registerBag($flashes);
64  }
65 
69  public function start()
70  {
71  return $this->storage->start();
72  }
73 
77  public function has($name)
78  {
79  return $this->getAttributeBag()->has($name);
80  }
81 
85  public function get($name, $default = null)
86  {
87  return $this->getAttributeBag()->get($name, $default);
88  }
89 
93  public function set($name, $value)
94  {
95  $this->getAttributeBag()->set($name, $value);
96  }
97 
101  public function all()
102  {
103  return $this->getAttributeBag()->all();
104  }
105 
109  public function replace(array $attributes)
110  {
111  $this->getAttributeBag()->replace($attributes);
112  }
113 
117  public function remove($name)
118  {
119  return $this->getAttributeBag()->remove($name);
120  }
121 
125  public function clear()
126  {
127  $this->storage->getBag($this->attributeName)->clear();
128  }
129 
133  public function isStarted()
134  {
135  return $this->storage->isStarted();
136  }
137 
143  public function getIterator()
144  {
145  return new \ArrayIterator($this->getAttributeBag()->all());
146  }
147 
153  public function count()
154  {
155  return count($this->getAttributeBag()->all());
156  }
157 
161  public function invalidate($lifetime = null)
162  {
163  $this->storage->clear();
164 
165  return $this->migrate(true, $lifetime);
166  }
167 
171  public function migrate($destroy = false, $lifetime = null)
172  {
173  return $this->storage->regenerate($destroy, $lifetime);
174  }
175 
179  public function save()
180  {
181  $this->storage->save();
182  }
183 
187  public function getId()
188  {
189  return $this->storage->getId();
190  }
191 
195  public function setId($id)
196  {
197  $this->storage->setId($id);
198  }
199 
203  public function getName()
204  {
205  return $this->storage->getName();
206  }
207 
211  public function setName($name)
212  {
213  $this->storage->setName($name);
214  }
215 
219  public function getMetadataBag()
220  {
221  return $this->storage->getMetadataBag();
222  }
223 
227  public function registerBag(SessionBagInterface $bag)
228  {
229  $this->storage->registerBag($bag);
230  }
231 
235  public function getBag($name)
236  {
237  return $this->storage->getBag($name);
238  }
239 
245  public function getFlashBag()
246  {
247  return $this->getBag($this->flashName);
248  }
249 
257  private function getAttributeBag()
258  {
259  return $this->storage->getBag($this->attributeName);
260  }
261 }
Symfony\Component\HttpFoundation\Session\Session\all
all()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:110
Symfony\Component\HttpFoundation\Session
Symfony\Component\HttpFoundation\Session\Session\__construct
__construct(SessionStorageInterface $storage=null, AttributeBagInterface $attributes=null, FlashBagInterface $flashes=null)
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:62
Symfony\Component\HttpFoundation\Session\Session\start
start()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:78
Symfony\Component\HttpFoundation\Session\Session\save
save()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:188
Symfony\Component\HttpFoundation\Session\Session\invalidate
invalidate($lifetime=null)
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:170
Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface
Definition: lib/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php:21
Symfony\Component\HttpFoundation\Session\Session\isStarted
isStarted()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:142
Symfony\Component\HttpFoundation\Session\Flash\FlashBag
Definition: lib/vendor/symfony/http-foundation/Session/Flash/FlashBag.php:19
Symfony\Component\HttpFoundation\Session\Session\setName
setName($name)
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:220
Symfony\Component\HttpFoundation\Session\Session\migrate
migrate($destroy=false, $lifetime=null)
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:180
Symfony\Component\HttpFoundation\Session\Session\getName
getName()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:212
Symfony\Component\HttpFoundation\Session\Session\has
has($name)
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:86
Symfony\Component\HttpFoundation\Session\Session\getFlashBag
getFlashBag()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:254
Symfony\Component\HttpFoundation\Session\SessionInterface
Definition: lib/vendor/symfony/http-foundation/Session/SessionInterface.php:21
Symfony\Component\HttpFoundation\Session\Session\getId
getId()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:196
Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface
Definition: lib/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php:22
Symfony\Component\HttpFoundation\Session\Session\$storage
$storage
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:37
Symfony\Component\HttpFoundation\Session\Session\clear
clear()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:134
Symfony\Component\HttpFoundation\Session\Session\getBag
getBag($name)
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:244
Symfony\Component\HttpFoundation\Session\Session\getMetadataBag
getMetadataBag()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:228
Symfony\Component\HttpFoundation\Session\Session\replace
replace(array $attributes)
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:118
Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage
Definition: lib/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:25
Symfony\Component\HttpFoundation\Session\Session\registerBag
registerBag(SessionBagInterface $bag)
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:236
Symfony\Component\HttpFoundation\Session\Session\getIterator
getIterator()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:152
Symfony\Component\HttpFoundation\Session\Session\setId
setId($id)
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:204
Symfony\Component\HttpFoundation\Session\SessionBagInterface
Definition: lib/vendor/symfony/http-foundation/Session/SessionBagInterface.php:19
Symfony\Component\HttpFoundation\Session\Session
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:27
Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag
Definition: lib/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php:17
Symfony\Component\HttpFoundation\Session\Attribute\AttributeBagInterface
Definition: lib/vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php:21
Symfony\Component\HttpFoundation\Session\Session\count
count()
Definition: lib/vendor/symfony/http-foundation/Session/Session.php:162