Da es auch möglich ist, die HTTPFoundation-Komponente außerhalb von Symfony2 zu verwenden, ist der Weg t o implementieren NamespacedUserBags ist wie folgt:
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBag;
$session = new Session();
//first bag
$myAttributeBag = new NamespacedAttributeBag('<your_storage_key_1>');
$myAttributeBag->setName('<your_tag_name_1>');
$session->registerBag($myAttributeBag);
//second bag
$myAttributeBag = new NamespacedAttributeBag('<your_storage_key_2>');
$myAttributeBag->setName('<your_tag_name_2>');
$session->registerBag($myAttributeBag);
$session->start();
Register wie viele Taschen, wie Sie wollen, aber stellen Sie sicher, dies zu tun, bevor Sie die Sitzung starten. Jetzt können Sie wechseln zwischen den Beuteln mit getBag():
$activeBag = $session->getBag('<your_tag_name>');
und Zugriff auf die Namespace-Tasche mit den typischen Methoden:
$activeBag->set('tokens/a', 'adsf82983asd');
$activeBag->set('tokens/b', 'daslfl232l3k');
print_r($activeBag->get('tokens'));
FYI: das wird nicht in Symfony 3 funktionieren, da sie alle diese Klassenparameter herausgerissen haben. –