Я впервые использую NamespacedAttributeBag
, поэтому я пробую следующий код, но он дает мне исключение: " SessionBagInterface TestData не зарегистрирован. ", когда я вызываю его из другого места, также внутритот же контроллер.
Контроллер
public function indexAction(Request $request, SessionInterface $session)
{
$session = $request->getSession();
$bag = new NamespacedAttributeBag();
$bag->setName('TestData');
$bag->set("Type", "Dummy");
$session->registerBag($bag);
}
public function getDataAction(Request $request, SessionInterface $session)
{
$session = $request->getSession();
$bag = $session->getBag('TestData');
}
Что я хочу заархивировать, так это определить пакет с парой атрибутов (массивов) и использовать этот пакет для другой функции или контроллера.
В исключении говорится, что сумка не определена, и я вижу, что это правда, когда я сбрасываю сеанс (dump($session)
) внутри getDataAction.Я могу выбрать только две сумки по умолчанию attributes
и flashes
, но отсутствует TestData
.
Я искал более полный пример этого, но не нашел ничего очень полезного.У меня не очень ясно, если это нельзя использовать, как я хочу, или я упускаю что-то важное.
Спасибо за помощь!