Я пытаюсь установить $ объект формы (от ActiveForm) в сессии:Yii2. Сессия и формы
$fofArgs = [
'form' => $form,
];
Yii::$app->session->set('fofArgs', $fofArgs);
Но Когда я звоню в действии:
var_dump(Yii::$app->session->get('fofArgs'));
Он печатает NULL. Я предполагаю, что это связано с закрытием, так как я пытался сериализовать $ form, и я получил сообщение об ошибке «Закрытие не может быть сериализовано».
Любые идеи?
Это вопрос после того, как я думал, что это была ошибка с pJax: Yii2. Pjax and Session
UPDATE
Протестируйте делать
Yii::$app->session->set('formtest', $form)
в один контроллер/действие, а затем
var_dump(Yii::$app->session->get('formtest'));
в другом, если вы делаете это в одном и том же, кажется, это работает.
Мне удалось установить объект формы в сеансе и получить к нему доступ в действии. Используя тот же код !!! –
В одном случае я получил NULL при распечатке переменной сеанса, но это произошло из-за того, что я по какой-то причине вышел из строя, и сессия была сброшена. В противном случае ваш код работает –
Благодарим за отзыв, модель, которую вы использовали для создания своей формы, имеет правила? кажется, что он терпит неудачу, когда у него есть правила, потому что они представлены как закрытие. – Eduardo