[POO] Tableau d'objets B dans une instance de class A
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
Code:
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];
}
} |
Script appellant
Code:
1 2 3 4 5 6
|
$objet_1 = new A;
// Cette méthode crée une instance de B.
$objet_2 = $objet_1->setObjetB() |
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).
Quelq'un peut-il m'éclairer ?
Merci d'avance