Ich habe ein Problem mit meiner Registrierungsfunktion, seit ich auf Symfony 3.0 aktualisiert habe.Fehler: Objekt des Typs Symfony Component HttpFoundation kann nicht als Array-Upgrade auf Symfony 3.0 verwendet werden
Error: Cannot use object of type Symfony\Component\HttpFoundation\Request as array
Hier ist meine Funktion:
public function registerAction(Request $request) {
/** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
$userManager = $this->container->get('fos_user.user_manager');
/** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
$dispatcher = $this->container->get('event_dispatcher');
$user = new Admin();
$user->setEnabled(true);
$event = new GetResponseUserEvent($user, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
$form = $this->createForm(RegistrationAdminFormType::class);
$form->setData($user);
if ('POST' === $request->getMethod()) {
$form->submit($request);
if ($form->isValid()) {
// Attribution du username
$username = $this->getDoctrine()->getManager()->getRepository('PACESUserBundle:Admin')->getNewUsername();
$user->setUsername($username);
$user->setNom(ucfirst(strtolower($form->get('nom')->getData())));
$user->setPrenom(ucfirst(strtolower($form->get('prenom')->getData())));
$event = new FormEvent($form, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
$userManager->updateUser($user);
if (null === $response = $event->getResponse()) {
$url = $this->container->get('router')->generate('fos_user_registration_confirmed');
$response = new RedirectResponse($url);
}
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
return $response;
}
}
return $this->render('PACESUserBundle:Registration:admin.html.twig', array(
'form' => $form->createView(),
));
}
Dieser Fehler aus dieser Datei kommt: vendor \ symfony \ symfony \ src \ Symfony \ Component \ Formular \ Extension \ CSRF \ Eventlistener \ CsrfValidationListener.php in Zeile 92
Ich habe nichts gefunden, das nach diesem Fehler sucht, außer dem gleichen Fehler, aber mit Zeile 67, die bereits gelöst wurde.
Es funktioniert. Vielen Dank ! Können Sie mir bitte erklären, warum ich diesen Fehler hatte? –
Senden Methode akzeptieren Plain Array Daten http://api.symfony.com/3.0/Symfony/Component/Form/Form.html#method_submit –
Bitte @Arthur Vesker lesen Sie die [Upgrade-Dateien] (https://github.com /symfony/symfony/blob/2.8/UPGRADE-3.0.md#form) – Heah