Overview

Namespaces

  • Evenement
  • None
  • PHP
  • Psr
    • Http
      • Message
  • Ratchet
    • Http
    • RFC6455
      • Handshake
      • Messaging
    • Server
    • Session
      • Serialize
      • Storage
        • Proxy
    • Wamp
    • WebSocket
  • React
    • EventLoop
      • Tick
      • Timer
    • Socket
    • Stream
  • Symfony
    • Component
      • HttpFoundation
        • Session
          • Attribute
          • Flash
          • Storage
            • Handler
            • Proxy
      • Routing
        • Annotation
        • Exception
        • Generator
          • Dumper
        • Loader
          • DependencyInjection
        • Matcher
          • Dumper
        • Tests
          • Annotation
          • Fixtures
            • AnnotatedClasses
            • OtherAnnotatedClasses
          • Generator
            • Dumper
          • Loader
          • Matcher
            • Dumper

Classes

  • MetadataBag
  • MockArraySessionStorage
  • MockFileSessionStorage
  • NativeSessionStorage
  • PhpBridgeSessionStorage

Interfaces

  • SessionStorageInterface
  • Overview
  • Namespace
  • Class
  • Tree
 1: <?php
 2: 
 3: /*
 4:  * This file is part of the Symfony package.
 5:  *
 6:  * (c) Fabien Potencier <[email protected]>
 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\Storage;
13: 
14: use Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy;
15: use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeSessionHandler;
16: 
17: /**
18:  * Allows session to be started by PHP and managed by Symfony.
19:  *
20:  * @author Drak <[email protected]>
21:  */
22: class PhpBridgeSessionStorage extends NativeSessionStorage
23: {
24:     /**
25:      * Constructor.
26:      *
27:      * @param AbstractProxy|NativeSessionHandler|\SessionHandlerInterface|null $handler
28:      * @param MetadataBag                                                      $metaBag MetadataBag
29:      */
30:     public function __construct($handler = null, MetadataBag $metaBag = null)
31:     {
32:         $this->setMetadataBag($metaBag);
33:         $this->setSaveHandler($handler);
34:     }
35: 
36:     /**
37:      * {@inheritdoc}
38:      */
39:     public function start()
40:     {
41:         if ($this->started) {
42:             return true;
43:         }
44: 
45:         $this->loadSession();
46:         if (!$this->saveHandler->isWrapper() && !$this->saveHandler->isSessionHandlerInterface()) {
47:             // This condition matches only PHP 5.3 + internal save handlers
48:             $this->saveHandler->setActive(true);
49:         }
50: 
51:         return true;
52:     }
53: 
54:     /**
55:      * {@inheritdoc}
56:      */
57:     public function clear()
58:     {
59:         // clear out the bags and nothing else that may be set
60:         // since the purpose of this driver is to share a handler
61:         foreach ($this->bags as $bag) {
62:             $bag->clear();
63:         }
64: 
65:         // reconnect the bags to the session
66:         $this->loadSession();
67:     }
68: }
69: 
Ratchet API documentation generated by ApiGen 2.8.0