(я удалил предыдущую похожую тему, потому что в коде было слишком много изменений).
Я использую Symfony\Component\HttpFoundation\Session\Session
и Symfony\Component\HttpFoundation\Request
, но без всех рамок.
У меня простойindex
$request = Request::createFromGlobals();
$session = new Session();
if(!$session->isStarted()){
$session->start();
}
$request->setSession($session);
$kernel = new Kernel(new AppContainer());
$response = $kernel->handle($request);
$response->send();
хорошо работает, когда я использую только шаблоны веточек.Когда я использую любой класс, который реализует FormRendererInterface
, это выдает мне ошибку.Я ожидаю, что к CsrfTokenManager
.
Эта проблема не возникает, когда я использую $session = new Session(new PhpBridgeSessionStorage());
в index.php.К сожалению, в таких случаях сеансы в следующем запросе пусты (это логика, потому что я автоматически отключаю сеансы в php.inii).
Ниже приведен код, который я использую в контроллере для использования построителя форм.
...
$form = (new LoginForm($this->formBuilder))->getForm($this->generateUrl('login'));
$form->handleRequest($request);
Match::val($form->isSubmitted() && $form->isValid())
->of(
When::equals(true, function($item) use ($form){
$this->commandBus->dispatch(new UserLogin($form->getData()));
}),
When::other(false)
);
...
Спасибо за любые подсказки.