annotate vendor/symfony/http-foundation/Session/SessionBagProxy.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
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@16 23 private $usageIndex;
Chris@14 24
Chris@16 25 public function __construct(SessionBagInterface $bag, array &$data, &$usageIndex)
Chris@14 26 {
Chris@14 27 $this->bag = $bag;
Chris@14 28 $this->data = &$data;
Chris@16 29 $this->usageIndex = &$usageIndex;
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@16 37 ++$this->usageIndex;
Chris@16 38
Chris@14 39 return $this->bag;
Chris@14 40 }
Chris@14 41
Chris@14 42 /**
Chris@14 43 * @return bool
Chris@14 44 */
Chris@14 45 public function isEmpty()
Chris@14 46 {
Chris@17 47 if (!isset($this->data[$this->bag->getStorageKey()])) {
Chris@17 48 return true;
Chris@17 49 }
Chris@16 50 ++$this->usageIndex;
Chris@16 51
Chris@14 52 return empty($this->data[$this->bag->getStorageKey()]);
Chris@14 53 }
Chris@14 54
Chris@14 55 /**
Chris@14 56 * {@inheritdoc}
Chris@14 57 */
Chris@14 58 public function getName()
Chris@14 59 {
Chris@14 60 return $this->bag->getName();
Chris@14 61 }
Chris@14 62
Chris@14 63 /**
Chris@14 64 * {@inheritdoc}
Chris@14 65 */
Chris@14 66 public function initialize(array &$array)
Chris@14 67 {
Chris@16 68 ++$this->usageIndex;
Chris@14 69 $this->data[$this->bag->getStorageKey()] = &$array;
Chris@14 70
Chris@14 71 $this->bag->initialize($array);
Chris@14 72 }
Chris@14 73
Chris@14 74 /**
Chris@14 75 * {@inheritdoc}
Chris@14 76 */
Chris@14 77 public function getStorageKey()
Chris@14 78 {
Chris@14 79 return $this->bag->getStorageKey();
Chris@14 80 }
Chris@14 81
Chris@14 82 /**
Chris@14 83 * {@inheritdoc}
Chris@14 84 */
Chris@14 85 public function clear()
Chris@14 86 {
Chris@14 87 return $this->bag->clear();
Chris@14 88 }
Chris@14 89 }