IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PHP Discussion :

Symfony 5.3.9 RequestStack pour la session


Sujet :

PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juin 2011
    Messages : 181
    Points : 80
    Points
    80
    Par défaut Symfony 5.3.9 RequestStack pour la session
    Bonjour,

    Je souhaite récupérer mon panier de ma session avec symfony 5.3.9 mais j'obtiens l'erreur:

    Return value of App\Controller\CheckoutController::confirm() must be an instance of Symfony\Component\HttpFoundation\Response, null returned
    Avec:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return $this->session->getSession()->set('checkout_data', $data);

    Alors que je vois bien mon panier complet quand je fais:
    Je vous remercie de votre aide

  2. #2
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2013
    Messages : 2 174
    Points : 11 284
    Points
    11 284
    Billets dans le blog
    5
    Par défaut
    tu fais un set donc ca te reourne null. Dans ton controller tu dois retourner une Response, c'est ce qui te manque ici.
    return new Response($json, 200, []); $json etant ton entité que tu auras au préalable serialisée afin quelle soit sous forme de string dans Response().

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juin 2011
    Messages : 181
    Points : 80
    Points
    80
    Par défaut
    Merci alors j'essaie ceci, mais il me retourne une erreur:

    A circular reference has been detected when serializing the object of class "App\Entity\Address" (configured limit: 1)":
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                $dataSz = $serializer->serialize($data, 'json', [
                    'address' => $address,
                    'carrier' => $carrier,
                    'informations' => $informations
                ]);
     
              dd($dataSz);

    Si je précise 200: ou HTTP_OK, il me dit que le format n'est pas accepté.

  4. #4
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2013
    Messages : 2 174
    Points : 11 284
    Points
    11 284
    Billets dans le blog
    5
    Par défaut
    comme le dit le message tu a une référence circulaire c'est à dire une boucle info. SI j'imagine bien tu souhaite obtenir l'entité adresse qui est liée à l'entité carrier et dans l'entité carrier tu as la relation avec adresse donc tu tourne en rond.
    il te faut définir des groupes de sérialisation et ne choisir que les champs qui t'interesse dans chaque entités.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $json = $serializer->serialize(
        $product,
        'json',
        ['groups' => 'show_product']
    );
    https://symfony.com/doc/current/serializer.html

Discussions similaires

  1. Utilisation de base de données pour les sessions
    Par Aragorn_destroy dans le forum Langage
    Réponses: 3
    Dernier message: 05/07/2007, 09h51
  2. Faire un compteur pour des sessions utilisateurs
    Par liverbird dans le forum C++Builder
    Réponses: 55
    Dernier message: 21/06/2006, 16h37
  3. [Sécurité] Pb PHP pour une session membre
    Par fredylover dans le forum Langage
    Réponses: 2
    Dernier message: 02/05/2006, 09h59
  4. problème de configuration pour les sessions
    Par spilliaert dans le forum Langage
    Réponses: 13
    Dernier message: 27/12/2005, 21h44
  5. Ajouter une clé pour une session non ouverte
    Par prgasp77 dans le forum Windows
    Réponses: 4
    Dernier message: 29/10/2005, 01h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo