SecurityControler symfony4 recuperer user

Par AaFrederic Husson, il y a 6 ans


bonjour,

je cherche à savoir comment récupérer l'user d'un connecté à l'espace membre avec security de symfony

6 réponses

AaFrederic Husson, il y a 6 ans

bonjour

j'ai regardé la doc le dump me renvoie bien les données de l'utilisateur mais le problème c'est que j'ai ce message d'erreur 500

Return value of App\Controller\ProfileController::update() must be an instance of Symfony\Component\HttpFoundation\Response, none returned

<?php namespace App\Controller; use App\Entity\User; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; use Doctrine\Common\Persistence\ObjectManager; use Symfony\Component\HttpFoundation\Response; class ProfileController extends AbstractController { /** * @Route ("/profile", name="profile_home") */ public function index() { return $this->render('profile/index.html.twig'); } /** * @Route ("/profile/update", name="profile_update") */ public function update(): Response { $users = $this->getUser(); dump($users); /* $repository = $this->getDoctrine()->getRepository(User::class); $data = $repository->find(['id' => 11]); dump($data); return $this->render('profile/update.html.twig'); */ } }
bidule, il y a 6 ans

Salut,

tout simplement car Symfony attend une "Response" (puisque tu lui demandes)

public function update(): Response {

Dans ton cas met un die(); et tu n'auras pas le pb au moins pour voir le dump, sinon retourne au moins la vue ;)

/** * @Route ("/profile/update", name="profile_update") */ public function update(): Response { $users = $this->getUser(); dump($users); die(); /* $repository = $this->getDoctrine()->getRepository(User::class); $data = $repository->find(['id' => 11]); dump($data); return $this->render('profile/update.html.twig'); */ }

ou

/** * @Route ("/profile/update", name="profile_update") */ public function update(): Response { $users = $this->getUser(); dump($users); /* $repository = $this->getDoctrine()->getRepository(User::class); $data = $repository->find(['id' => 11]); dump($data); */ return $this->render('profile/update.html.twig'); }
AaFrederic Husson, il y a 6 ans

en fait pour récupérer l'id j'ai fait ça mais là je n'ai pas accès à l'id vu que c'est une variable privé hum

public function update(): Response { $user = $this->getUser(); dump($user->username); /* $repository = $this->getDoctrine()->getRepository(User::class); $data_users = $repository->findOneBy(['id' => $user->id]); return $this->render('profile/update.html.twig', [ 'data_users' => $data_users ]); */ }
olive140, il y a 6 ans

Un user c'est une entité, si tu regarde ton entité tu veras des getters et des setters.

$user->getId();
AaFrederic Husson, il y a 6 ans

ah oui je comprend mieux

public function update(): Response { $user = $this->getUser(); $repository = $this->getDoctrine()->getRepository(User::class); $data_users = $repository->findOneBy(['id' => $user->getId()]); return $this->render('profile/update.html.twig', [ 'data_users' => $data_users ]); }

en tout cas merci