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 :
Voici le code qui appelle cette classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } }
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 // 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);
Partager