Parcourir un objet? [résolu] - PHP - Programmation
Marsh Posté le 13-03-2010 à 14:48:32
bizarre mais tes propriétés sont privates nan ?
tu pourrais nous donner la déclaration de ta classe stp ?
Marsh Posté le 13-03-2010 à 15:42:28
Effectivement tout est en private.
Code :
|
Code :
|
Marsh Posté le 13-03-2010 à 17:07:42
donc si tes propriétés sont en private, comment veux-tu y accéder
http://www.vulgarisation-informatique.com/php-poo.php
Citation :
PHP 5 introduit la notion de visibilité de méthodes et d'attributs. Chaques attributs et méthodes peuvent se voir attribuer un droit d'accès. Le principe de l'encapsulation voudrait que l'on mette tous les attributs uniquement modifiables et accessibles à l'intérieur de la classe, et les méthodes accessibles de l'extérieur. En pratique, ce n'est pas toujours le cas. Les trois mots permettant de gérer les accès sont ceux-ci : * public : n'importe qui a accès à la méthode ou à l'attribut demandé. Pour la classe Voiture, vous pouvez constater que les attributs ne sont pas modifiables à l'extérieur de la classe, il faut passer par les méthodes appropriées. |
Marsh Posté le 13-03-2010 à 17:48:50
Non mais même si je met en public, je sais toujours pas comment parcourir mon objet et récupérer la valeur des variables.
Dans le code ci-dessous remplace par public si tu veux, mais je sais toujours pas comment accéder aux valeurs.
Merci
Code :
|
Marsh Posté le 13-03-2010 à 17:56:49
tu vas declarer dans ta classe Produits les fonctions getPrice, getName, et getId
Puis dans panier, tu pourras faire un foreach($this->panier as $produit)
tu peux meme faire ça plus proprement en déclarant que ta classe panier implemente Iterator, ainsi , de l'exterieur tu peux faire foreach( $panier as $produit)
Marsh Posté le 13-03-2010 à 18:20:26
flo850 a écrit : tu vas declarer dans ta classe Produits les fonctions getPrice, getName, et getId |
Merci bien en effet j'ai implémenté cet Iterator et c'est nickel.
Merci bien.
Marsh Posté le 13-03-2010 à 14:34:34
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
me donne ceci.
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.
Message édité par masseur le 13-03-2010 à 18:20:41