Mercurial > hg > isophonics-drupal-site
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 } |