Bonjour, j'ai qq questions qui me taraudent depuis 2 jours et j'ai beau cherché chez mon ami google, je ne trouve pas de réponse à mes questions.
1ere colle
quand une classe A est etendu avec une B, si on fait une instance de A, il y a une possibilité d'accéder aux methodes de B?
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 class a { public $test='a'; } class b extend a { public function view() { [....] } } $a = new a;
et a l'inverse dans B est-il possible de modifier $a->test sans passé par un global $a (bien degeux d'ailleur).
Vu que je pense qu'il n'y a pas de solution sans instantié B, je me suis dit que dans A je pouvais include_once la class B est l'instancié a l'interieur de A.
Du coup j'accède bien (la classe B n'est d'ailleurs plus une extend) à la méthode view de ma classe B. Mais voila le problème c'est que j'aimerais bien modifier $test->test depuis B. Le seul moyen que j'ai trouvé c'est de passer $test en global (cado bis).
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 class a { public $test='a'; public $b; public function load($class){ include_once('classB.php'); $this->b = new b; } } $test = new a; $test->load(b); $test->b->view();
Pour résumé, j'essaye d'ajouter des methodes à une classe déjà instancié mais je sais pas si c'est possible (desolé noob inside en POO).
2eme colle :
Si je fais un include dans une classe d'un autre fichier classe, comment rendre la "classe incluse" disponible de partout dans l'application.
Merci d'avance des réponses éventuelle
Partager