Bonjour!
Je suis nouveau sur ce forum! C'est la première fois que je poste ici parce que je ne suis pas un pro et que je ne crois pas réellement trouver ma place parmi vous ^^
cela dit, je cale sur un problème en php poo ne trouve pas de réponses pour moi... (c'est bien une première, et donc je viens vous embêter... )
J'ai un vrai problème d'accès à mes classes mères.
Je me trouve avec ces classes:
Ce qui me semble bizarre là dedais, c'est que lorsque j'instancie un objet new Session(), cela m'affiche "SessionSession", donc le constructeur de ma classe Session appelle deux fois la même propriété $o...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <?php class Element { protected $o = 'element' ; function __construct() { } } class Membre extends Element { protected $o = 'Membre' ; function __construct() { } } class Session extends Membre { $o = 'Session' ; function _construct() { echo $this->o ; //affiche "Session" echo parent::$this->o ; //affiche encore "Session" } } ?>
Comment ça se fait? pourquoi je ne peux pas appelé d'abord la variable $o de la classe Session, puis la variable $o de la classe mère, à savoir la classe Membre...? Comment faire pour y remédier...?
Et j'ai un second problème...
Lorsque je rajoute une ligne de code à ma classe Session:
J'obtiens alors une erreur de type parse error:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php class Session extends Membre { $o = 'Session' ; function _construct() { echo $this->o ; //affiche "Session" echo parent::$this->o ; //affiche encore "Session" echo parent::parent::$this->o ; //affiche encore "Session" } } ?>
Parse error: parse error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting ',' or ';' in C:\Documents and Settings\BAROZFR4\Mes documents\Projets Boulot\CSEA\site_v2\classes\element.class.php on line 114
Cette syntaxe doit donc être incorrecte, mais alors comment faire pour appeler explicitement une classe mère depuis une classe fille, mais en en sautant une...?
Je ne sais pas si je suis clair...
Merci en tout cas!
Partager