Problème de constructeur

Fermé
ygj Messages postés 65 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 29 décembre 2021 - 18 déc. 2014 à 09:56
ygj Messages postés 65 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 29 décembre 2021 - 18 déc. 2014 à 12:13
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

YazidErman Messages postés 1 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 18 décembre 2014 1
Modifié par YazidErman le 18/12/2014 à 11:36
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
ygj Messages postés 65 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 29 décembre 2021 1
18 déc. 2014 à 12:13
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