adotterei una struttura piu semplice, è sempre un problema risalire tutte le gerarchie di estensione e implementazione
Codice PHP:
class arma{
....
....
}
class utente{
private $armi = null;
.....
.....
....
final public function controlla_armi(){
//interrogo il db e verifico le armi a mia disposizione, collezionandole in $this->armi
//riutilizzabile per rinnovare il parco armi a seguito di una nuova arma acquisita
return $this;
}
final public function ha_arma($name){
$out=0;
if(4this->$armi != null){
foreach($this->armi as $arma){
if ($arma->name == $name){
$out++;
}
}
}
return $out;
}
}
la classe item ti può venire in aiuto se hai dei modelli abbastanza flessibili da poterli adottare in tutte le sitiuazioni a mio parere