[POO] Modifier un objet [références]
Bonjour,
J'ai créé une classe Affixe, et je n'arrive pas à modifier les variables des objets de cette classe. L'instanciation fonctionne correctement, mais la fonction ajouter (qui ajoute un élément dans un tableau $modifs et tient un compte) ne conserve pas les modifications au-delà de la fonction ajouter... L'objet oublie les modifications faites dès que la fonction ajouter est terminée.
Voici la classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
class Affixe {
var $nom;
var $modifs;
var $nb_decl;
function Affixe ($genre, $name, $m) {
$this->nom = $name;
$this->nb_decl = 0;
}
function ajouter (&$op) {
$this->modifs[] = $op;
$this->nb_decl += 1;
}
} |
Voici le code qui appelle cette classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
// lecture du fichier des affixes
$flux = fopen("fr_FR.aff", "r");
while (!feof($flux)) {
$line = fgets($flux);
$elements = split(" +", $line);
if (sizeof($elements) == 4) {
// nouvel affixe
$affix = new Affixe ($elements[0], $elements[1], $elements[2]);
$affixes[$elements[1]] = $affix;
}
elseif (sizeof($elements) == 5) {
// nouvel operandi
$op = new Operandi ($elements[2], $elements[3], $elements[4]);
$affix->ajouter($op);
}
else {
echo "<p>#erreur à la lecture du fichier des affixes#</p>";
}
}
fclose($flux); |