$session=$request->getSession();
$panier=$session->get("panier", []);
Le préalable, c'est de récupérer la session pour l'interroger. L'objet $request de la classe Request peut s'en charge. $session=$request->getSession();
$panier=$session->get("panier", []);
On notera qu'ici, si j'ai bien compris, le plus important, c'est bien le deuxième paramètre. Il initie un panier, par défaut, équivalent à un tableau vide. En effet, un panier n'est pas autre chose qu'un tableau associtatif vide. Tableau qui associe à l'id d'un article une quantité.
// on peut aussi choisir d'accéder à la session par un objet qui représente la SessionInterface
public function add($id, SessionInterface $session){
$panier = $session->get('panier', []);
if(!empty($panier[$id])){
$panier[$id]++;
}else{
$panier[$id] = 1;
}
$session->set('panier', $panier);
// dd($session->get('panier'));
return $this->redirectToRoute("cart_index");
}
Impératif ! Les 2 "getters" qu'il me faut "interroger" pour savoir à un instant t si un panier est déjà existant ???