Bonjour,
Je me retrouve face à un problème de conception simple (j'en suis sûr) dont la solution me paraît bidouillée :
J'ai deux classes, A et B.
Je souhaiterais stocker des instances de B dans un attribut (tableau) de la classe A.
Chaque instance de B doit être stockée dans l'attribut A puis retournée à la variable appellante. J'utilise un compteur interne pour défiinir les clés des tableaux :
Class A
Script appellant
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 class A { private $objets_B = array(); private $i = 0; public function __construct() { // ... } public function setObjetB() { $this->i++; $this->objets_B[$this->i] = new B; return $this->objets_B[$this->i]; } }
Ce qui me pose problème c'est de devoir utiliser une variable compteur ($this->i) pour que l'objet puisse être retourné correctement. Si j'avais utilisé $this->objets_B[] = new B; return $this->objet_B[]; ça n'aurait pas fonctionné (Le compteur interne ne faisant pas office).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $objet_1 = new A; // Cette méthode crée une instance de B. $objet_2 = $objet_1->setObjetB()
Quelq'un peut-il m'éclairer ?
Merci d'avance
Partager