Extends : je n'y arrive pas...
Posté : 25 avr. 2009, 14:01
Bonjour,
Je suis un peu perdu, car c'est la première fois que j'ulise extends et je n'y arrive vraiment pas. J'ai pourtant un exemple sous les yeux. Je pense que mon erreur se situe dans le constructeur de ma classe étendue mais je n'en suis pas vraiment sur...
L'idée est en fait d'aller piocher une valeur dans un array défini dans la classe mère depuis la classe étendu, bref du basique :
Voilà ma classe mère :
Voilà, je suis sur que c'est tout bête
Je suis un peu perdu, car c'est la première fois que j'ulise extends et je n'y arrive vraiment pas. J'ai pourtant un exemple sous les yeux. Je pense que mon erreur se situe dans le constructeur de ma classe étendue mais je n'en suis pas vraiment sur...
L'idée est en fait d'aller piocher une valeur dans un array défini dans la classe mère depuis la classe étendu, bref du basique :
Voilà ma classe mère :
class moteur{
private $version;
//private $racine;
public $param; // tableau config
//private $aGet; // tableau $_GET
public function __construct(){
$this->version = 'dev';
//$this->aGet = array_keys($_GET);
$this->param = array();
foreach(simplexml_load_file('global/config.xml')->item as $item){
$cle = strval($item->k);
$valeur = strval($item->v);
$this->param[$cle] = $valeur;
}
}
public function getParam($cle){
//echo $this->param['commentaireValidation'];
return $this->param[$cle];
}
}
Et dans ma classe étendue :class commentaire extends moteur{
private $id;
private $idArticle;
private $pseudoAuteur;
private $emailAuteur;
private $ipAuteur;
private $messageAuteur;
private $date;
private $etat;
private $siteAuteur;
public function __construct($id=null){
$this->id = $id;
}
// ...suite de la classe
public function setEtat($value){
echo parent::getParam('commentaireValidation');
if($value == null){
$this->etat = parent::getParam('commentaireValidation');
}
else{
$this->etat = $value;
}
exit();
}
Au moment ou je fait $commentaire->setEtat() je devrais normalement voir le résultat du écho, mais rien ne s'affiche, pas d'erreur nomplus.Voilà, je suis sur que c'est tout bête