<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gamzo20</title>
    <description>The latest articles on DEV Community by Gamzo20 (@gamzo20).</description>
    <link>https://dev.to/gamzo20</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F888142%2Fd4dd1412-b1d2-4e21-ac2c-b3fa37a7925f.jpg</url>
      <title>DEV Community: Gamzo20</title>
      <link>https://dev.to/gamzo20</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gamzo20"/>
    <language>en</language>
    <item>
      <title>I'm Building a Shopping Cart with Symfony</title>
      <dc:creator>Gamzo20</dc:creator>
      <pubDate>Wed, 06 Jul 2022 17:22:57 +0000</pubDate>
      <link>https://dev.to/gamzo20/im-building-a-shopping-cart-with-symfony-3jlp</link>
      <guid>https://dev.to/gamzo20/im-building-a-shopping-cart-with-symfony-3jlp</guid>
      <description>&lt;p&gt;Then I got this error : Cannot resolve argument $carte of "App\Controller\CarteController::add()": Cannot autowire service "App\Classe\Carte": argument "$session" of method "__construct()" references interface "Symfony\Component\HttpFoundation\Session\SessionInterface" but no such service exists. Did you create a class that implements this interface?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CarteController.php&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php

namespace App\Controller;

use App\Entity\Car;
use App\Classe\Carte;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

class CarteController extends AbstractController
{
    private $entityManager;

    public function __construct(EntityManagerInterface $entityManager)
    {
        $this-&amp;gt;entityManager = $entityManager;
    }


   /**
    * @Route("/mon-panier", name="carte")
    */
    public function index(Carte $carte)
    {
        $carteComplete = [];

        foreach($carte-&amp;gt;get() as $id =&amp;gt; $quantity){
            $carteComplete[] = [
                'car' =&amp;gt; $this-&amp;gt;entityManager-&amp;gt;getRepository(Car::class)-&amp;gt;findOneById($id),
                'quantity' =&amp;gt; $quantity
            ];
        }

        return $this-&amp;gt;render('carte/index.html.twig', [
            'carte' =&amp;gt; $carteComplete
        ]);
    }


    /**
     * @Route("/carte/add/{id}", name="add_to_carte")
     */
    public function add(Carte $carte, $id)
    {
        $carte-&amp;gt;add($id);

        return $this-&amp;gt;redirectToRoute("carte") ;
    }

    /**
     * @Route("/carte/remove", name="remove_my_carte")
     */
    public function remove(Carte $carte)
    {
        $carte-&amp;gt;remove();

        return $this-&amp;gt;redirectToRoute("app_car");
    } 
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Carte.php&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php

namespace App\Classe;

use Symfony\Component\HttpFoundation\Session\SessionInterface;


class Carte
{
    private $session;

    public function __construct(SessionInterface $session){
        $this-&amp;gt;session = $session;
    }

    public function add($id)
    {
        $carte = $this-&amp;gt;session-&amp;gt;get('carte', []);

        if(!empty($carte[$id])){
            $carte[$id]++;
        }else{
            $carte[$id] = 1;
        }

        $this-&amp;gt;session-&amp;gt;set('carte', $carte);
    }



    public function get()
    {
        return $this-&amp;gt;session-&amp;gt;get('carte');
    }

    public function remove()
    {
        return $this-&amp;gt;session-&amp;gt;remove('carte');
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Please help me solve this problem&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>antoinechatry</category>
      <category>quentinferrer</category>
    </item>
  </channel>
</rss>
