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

Langage PHP Discussion :

[POO] Parcourir un objet?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 207
    Points : 94
    Points
    94
    Par défaut [POO] Parcourir un objet?
    Bonjour.

    Je suis en train de tester un peux la poo, pour cela je réalise un petit panier assez simpliste.
    Je possède une classe produit et une classe panier.

    Je sauvegarde mon objet panier dans une session.

    Dans ma page d'index j'aimerais donc afficher tout les produits disponibles dans le panier.

    un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<pre>'.print_r($_SESSION['panier'], true).'</pre>';
    me donne ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    Panier Object
    (
        [position:Panier:private] => 0
        [array:Panier:private] => Array
            (
                [0] => Produits Object
                    (
                        [_id:Produits:private] => 1212111
                        [_nom:Produits:private] => frites
                        [_prix:Produits:private] => 4
                    )
     
                [1] => Produits Object
                    (
                        [_id:Produits:private] => 2147483647
                        [_nom:Produits:private] => steack
                        [_prix:Produits:private] => 3
                    )
     
            )
     
    )

    Est il possible de parcourir cet objet avec du foreach (peux être faut il le serializer pour le parcourir et ainsi récupérer les informations), j'ai bien tenté de serializer le bouzin mais ca ne m'aide pas plus en fait dans la récupération des informations, je sais pas comment m'y prendre?

    Merci par avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Points : 81
    Points
    81
    Par défaut
    Bonjour,

    Pour itérer à travers votre objet à l'aide de foreach votre classe Panier doit implémenter l'interface "Iterator".

    Plus d'informations sur cette page:

    http://fr.php.net/manual/fr/class.iterator.php

    De plus vous pouvez aussi implémenter l'interface "Countable" qui vous permettra d'utiliser la fonction count() sur votre panier, pour récupérer le nombre de produits qu'il contient par exemple.

    http://fr.php.net/manual/fr/class.countable.php

    Voilà en espérant que cela vous aide

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 207
    Points : 94
    Points
    94
    Par défaut
    Merci.

    Ma classe est déjà comme ceci, donc c'est tout good.
    Mais je n'arrive quand même pas à m'en sortir pour récupérer les valeurs de mon objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Panier implements SeekableIterator, Countable{
    Je galère un peux mais on dirait qu'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    foreach($panier_unserialize as $produit)
    Me renvoi bien mes deux objets produits, donc ca devrait être good

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    object(Produits)#5 (5) { ["_id":"Produits":private]=>  string(7) "1212111" ["_nom":"Produits":private]=>  string(6) "frites" ["_prix":"Produits":private]=>  string(1) "4" ["position":"Produits":private]=>  int(0) ["var":"Produits":private]=>  array(0) { } }
     
    object(Produits)#6 (5) { ["_id":"Produits":private]=> string(10) "2147483647" ["_nom":"Produits":private]=> string(6) "steack" ["_prix":"Produits":private]=> string(1) "3" ["position":"Produits":private]=> int(0) ["var":"Produits":private]=> array(0) { } }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] parcourir un objet json avec une boucle for in
    Par bucheron007 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 19/01/2009, 13h55
  2. [POO] Instancier un objet avec le nom de la classe
    Par shinchun dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2006, 14h44
  3. [POO] Désactiver un objet dont le nom est passé en parametre
    Par JavaEli dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/07/2005, 09h47
  4. [POO] fonction toUpperCase : Objet attendu
    Par LineLe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/04/2005, 17h51
  5. [POO] Passer un objet HTML en argument.
    Par defacta dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/12/2004, 11h44

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