Se connecter avec
S'enregistrer | Connectez-vous

Undined variable dans un code de PHP objet

Dernière réponse : dans Programmation

Bonjour,
j'ai un petit problème que je n'arrive pas a résoudre. J'ai un message d'erreur " Notice: Undifined variable:tab in C:\wamp\www\ref.php on line 22

Voici mon code:
php
class ref
{
public $tab = array(); // tableau qui va contenir les jours
public $desc; // description qui va servir a identifier les tâches

public function ref($descr,$lu,$ma,$me,$je,$ve,$sa,$di) // constructeur de l'objet
{
$tab[0]=$lu;
$tab[1]=$ma;
$tab[2]=$me;
$tab[3]=$je;
$tab[4]=$ve;
$tab[5]=$sa;
$tab[6]=$di;

$desc=$descr;
}

public function getTab() // retourne le $tab qui est privé ( sinon on n'y a pas accès )
{
return $tab;
}

public function setTab($ind,$val) // $ind-> indice de la case du tableau a modifier par $val
{
if($ind<=6 && $ind>=0)
$tab[$ind]=$val;
}
}
?>

Voila si quelqu'un pouvait me renseigner, merci d'avance

Autres pages sur : undined variable code php objet

Lassé par la pub ? Créez un compte

  1. <?php
  2. class ref
  3. {
  4. public $tab = array(); // tableau qui va contenir les jours
  5. public $desc; // description qui va servir a identifier les tâches
  6.  
  7. public function ref($descr,$lu,$ma,$me,$je,$ve,$sa,$di) // constructeur de l'objet
  8. {
  9. $tab[0]=$lu;
  10. $tab[1]=$ma;
  11. $tab[2]=$me;
  12. $tab[3]=$je;
  13. $tab[4]=$ve;
  14. $tab[5]=$sa;
  15. $tab[6]=$di;
  16.  
  17. $desc=$descr;
  18. }
  19.  
  20. public function getTab() // retourne le $tab qui est privé ( sinon on n'y a pas accès )
  21. {
  22. return $tab;
  23. }
  24.  
  25. public function setTab($ind,$val) // $ind-> indice de la case du tableau a modifier par $val
  26. {
  27. if($ind<=6 && $ind>=0)
  28. $tab[$ind]=$val;
  29. }
  30. }
  31. ?>


Voila ^^
Expert Programmation

Dans une classe, la référénce à une propriété ou à une une méthode se fait avec le mot clé magique $this-> !

Donc dans ta classe :
  1. $this->tab = "toto" // utilisation de ta propriété $tab dans ta classe
  2. $this->getTab(); // pour appeler ta méthode dans ta classe
Expert Programmation

Donc voilà pour ta classe corrigée :
  1. <?php
  2. class ref
  3. {
  4. public $tab = array(); // tableau qui va contenir les jours
  5. public $desc; // description qui va servir a identifier les tâches
  6.  
  7. public function ref($descr,$lu,$ma,$me,$je,$ve,$sa,$di) // constructeur de l'objet
  8. {
  9. $this->tab[0]=$lu;
  10. $this->tab[1]=$ma;
  11. $this->tab[2]=$me;
  12. $this->tab[3]=$je;
  13. $this->tab[4]=$ve;
  14. $this->tab[5]=$sa;
  15. $this->tab[6]=$di;
  16.  
  17. $this->desc=$descr;
  18. }
  19.  
  20. public function getTab() // retourne le $tab qui est privé ( sinon on n'y a pas accès )
  21. {
  22. return $this->tab;
  23. }
  24.  
  25. public function setTab($ind,$val) // $ind-> indice de la case du tableau a modifier par $val
  26. {
  27. if($ind<=6 && $ind>=0)
  28. $this->tab[$ind]=$val;
  29. }
  30. }
  31. ?>
Lassé par la pub ? Créez un compte