Problème de constructeur

ygj Messages postés 78 Statut Membre -  
ygj Messages postés 78 Statut Membre -
Bonjour tout le monde,

mon constructeur ne permet pas d'initialiser une variable de type tableau de ma classe.
class Etudiant
{
	public $nom;
	public $prenom;
	public $DatNais = array();
	function __construct($pnom,$ppnom,$pj,$pm,$pa)
	{
		$this->nom=$pnom;
		$this->prenom=$ppnom;
		$this->$DatNais[0]=$pj;
		$this->$DatNais[1]=$pm;
		$this->$DatNais[2]=$pa;
	}

	public function CalAge()
	{
		$now=getdate();
		$annee=$now["your"];
		$age=$annee-self::$DatNais[2];
		return $age;
	}
}


j ai fouillé partout, sans aucune réponse :(
bien entendu toute aides est la bienvenue
et merci

1 réponse

  1. YazidErman Messages postés 1 Statut Membre 1
     
    Salut mon ami YGJ,

    Ton problem est tout simplement le '$' apres '$this->'

    on ecrit:
    $this->DatNais[0]=$pj;
    au lieu de :
    $this->$DatNais[0]=$pj;

    Le script apres fixer une autre problem:

    class Etudiant
    {
    public $nom;
    public $prenom;
    public $DatNais = array();

    function __construct($pnom,$ppnom,$pj,$pm,$pa)
    {
    $this->nom=$pnom;
    $this->prenom=$ppnom;
    $this->DatNais[0]=$pj;
    $this->DatNais[1]=$pm;
    $this->DatNais[2]=$pa;
    }

    public function CalAge()
    {
    $now=getdate();
    $annee=$now["year"];
    $age=$annee-$this->DatNais['2'];
    return $age;
    }
    }

    $jiji = new Etudiant('nom','pnom','03','06','1984');
    echo $jiji->CalAge();

    Bonne chance!
    1
    1. ygj Messages postés 78 Statut Membre 1
       
      merci mon ami yazid,

      une autre question:

      pourquoi on doit écrire
      $age=$annee-$this->DatNais['2'];

      et non
      $age=$annee-$this->DatNais[2];


      cette histoire du guillemet!!!
      0