[PHP] Petit soucis de tableau d'un objet

Petit soucis de tableau d'un objet [PHP] - PHP - Programmation

Marsh Posté le 25-03-2008 à 17:40:01    

Bonjour,
 
J'ai quelques difficultés à comprendre comment faire un tableau d'objet en PHP.
 
Voilà un bout de mon code :  
 

Code :
  1. require('./classes/article.class.php');
  2. class Panier
  3. {
  4. private $id;
  5. private $client;
  6. private $listeArticles = array();
  7. public function __construct()
  8. {
  9.  $this->id = 0;
  10.  $this->client = 0;
  11. }
  12. public function toString()
  13. {
  14.  $out = $this->getClient();
  15.  $out = $out.'\nListe des articles :\n';
  16.  for ($i=0; $i<$this->getNbArticles(); $i++)
  17.  {
  18.   $out = $out.$this->listeArticles[$i].getNom();
  19.   $out = $out.', prix : '.$this->listeArticles[$i].getPrix().'\n';          Problème ici !!!!
  20.   $out = $out.'Le montant total est de : '.$this->getMontant();
  21.  }
  22. }
  23. public function getClient()
  24. {
  25.  return $this->client;
  26. }
  27. public function getMontant()
  28. {
  29.  $montant = 0;
  30.  for ($i=0; $i<$this->getNbArticles(); $i++)
  31.  {
  32.   $montant += $listeArticles[$i];
  33.  }
  34. }
  35. public function getNbArticles()
  36. {
  37.  return (count($this->listeArticles));
  38. }
  39. }
Code :
  1. class Article
  2. {
  3. private $id;
  4. private $nom;
  5. private $prix;
  6. private $qtiteStock;
  7. function __construct($id, $nom, $prix, $qtite)
  8. {
  9.  $this->id = $id;
  10.  $this->nom = $nom;
  11.  $this->prix = $prix;
  12.  $this->qtiteStock = $qtite;
  13. }
  14. public function getNom()
  15. {
  16.  return $this->nom;
  17. }
  18. ......
  19. }
Code :
  1. // une page appelant les classes
  2. $panier = new Panier();
  3. $panier->ajoutArticle(new Article(123,'un joli briquet',2,5));
  4. $panier->ajoutArticle(new Article(1453,'un stylo',5,20));
  5. $panier->ajoutArticle(new Article(1453,'peluche mickey',19,20));
  6. echo 'nombre d\'articles :'.$panier->getNbArticles();
  7. nl2br($panier->toString());


 
Voilà mes questions, est ce que mon tableau est bien déclaré ? Y a t-il un moyen de dire directement que listeArticles est un tableau d'objets Article ?
 
Sinon, comment accéder à la fonction getNom(), ligne 22 ici ?
 
Merci de vos réponses !


Message édité par Fused le 25-03-2008 à 17:52:08
Reply

Marsh Posté le 25-03-2008 à 17:40:01   

Reply

Marsh Posté le 25-03-2008 à 20:34:54    

Avec une flèche à la place d'un point, ça devrait tout de suite mieux passer...


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 25-03-2008 à 20:45:15    

Ah oui, tout simplement, en effet ! Je me demande comment il arrive à faire le lien que cette fonction est dans la classe Article vu que c'est pas clairement dit comme en JAVA.

Reply

Marsh Posté le 25-03-2008 à 21:27:45    

Fused a écrit :

Ah oui, tout simplement, en effet ! Je me demande comment il arrive à faire le lien que cette fonction est dans la classe Article vu que c'est pas clairement dit comme en JAVA.


Il cherche une méthode getNom() dans l'objet, et si elle n'existe pas l'interpréteur t'envoie une erreur/warning/exception.


---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed