annotate vendor/symfony/http-foundation/Session/SessionBagProxy.php @ 14:1fec387a4317

Update Drupal core to 8.5.2 via Composer
author Chris Cannam
date Mon, 23 Apr 2018 09:46:53 +0100
parents
children c2387f117808
rev   line source
Chris@14 1 <?php
Chris@14 2
Chris@14 3 /*
Chris@14 4 * This file is part of the Symfony package.
Chris@14 5 *
Chris@14 6 * (c) Fabien Potencier <fabien@symfony.com>
Chris@14 7 *
Chris@14 8 * For the full copyright and license information, please view the LICENSE
Chris@14 9 * file that was distributed with this source code.
Chris@14 10 */
Chris@14 11
Chris@14 12 namespace Symfony\Component\HttpFoundation\Session;
Chris@14 13
Chris@14 14 /**
Chris@14 15 * @author Nicolas Grekas <p@tchwork.com>
Chris@14 16 *
Chris@14 17 * @internal
Chris@14 18 */
Chris@14 19 final class SessionBagProxy implements SessionBagInterface
Chris@14 20 {
Chris@14 21 private $bag;
Chris@14 22 private $data;
Chris@14 23 private $hasBeenStarted;
Chris@14 24
Chris@14 25 public function __construct(SessionBagInterface $bag, array &$data, &$hasBeenStarted)
Chris@14 26 {
Chris@14 27 $this->bag = $bag;
Chris@14 28 $this->data = &$data;
Chris@14 29 $this->hasBeenStarted = &$hasBeenStarted;
Chris@14 30 }
Chris@14 31
Chris@14 32 /**
Chris@14 33 * @return SessionBagInterface
Chris@14 34 */
Chris@14 35 public function getBag()
Chris@14 36 {
Chris@14 37 return $this->bag;
Chris@14 38 }
Chris@14 39
Chris@14 40 /**
Chris@14 41 * @return bool
Chris@14 42 */
Chris@14 43 public function isEmpty()
Chris@14 44 {
Chris@14 45 return empty($this->data[$this->bag->getStorageKey()]);
Chris@14 46 }
Chris@14 47
Chris@14 48 /**
Chris@14 49 * {@inheritdoc}
Chris@14 50 */
Chris@14 51 public function getName()
Chris@14 52 {
Chris@14 53 return $this->bag->getName();
Chris@14 54 }
Chris@14 55
Chris@14 56 /**
Chris@14 57 * {@inheritdoc}
Chris@14 58 */
Chris@14 59 public function initialize(array &$array)
Chris@14 60 {
Chris@14 61 $this->hasBeenStarted = true;
Chris@14 62 $this->data[$this->bag->getStorageKey()] = &$array;
Chris@14 63
Chris@14 64 $this->bag->initialize($array);
Chris@14 65 }
Chris@14 66
Chris@14 67 /**
Chris@14 68 * {@inheritdoc}
Chris@14 69 */
Chris@14 70 public function getStorageKey()
Chris@14 71 {
Chris@14 72 return $this->bag->getStorageKey();
Chris@14 73 }
Chris@14 74
Chris@14 75 /**
Chris@14 76 * {@inheritdoc}
Chris@14 77 */
Chris@14 78 public function clear()
Chris@14 79 {
Chris@14 80 return $this->bag->clear();
Chris@14 81 }
Chris@14 82 }