Fonction count() dans une classe
Bonjour,
J'ai une classe avec comme propriété un tableau déclaré par : var $TableauOperations = [];
L'unique instance de cette classe est stockée comme variable de session.
Une méthode de cette classe remplit le tableau en question (par paquets) ; jusque là tout fonctionne bien.
Pour pouvoir utiliser cette méthode plusieurs fois sans écraser les éléments précédents, je souhaite utiliser la fonction count() afin de ne pas repartir de l'indice 0 mais d'un indice correspondant au nombre d'enregistrements précédents. Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Class ExosFeuille {
var $NomFeuille ; // sera affiché pour re-choisir une feuille existante
var $TableauOperations = [];
public function __construct(string $NFeuille)
{
$this->NomFeuille = $NFeuille;
} // fin constructeur
public function AjouteOperations($TypeOp, int $NbNb, int $TailleNbs, $NbOccurences)
{
$Compte = count($TableauOperations);
for ($i = 0 ; $i < $NbOccurences ; $i++)
{
$NOp = new ExosOperation($TypeOp, $NbNb, $TailleNbs);
$NOp->Init();
$this->TableauOperations[$i+$Compte] = $NOp;
}
} |
Mais quand j'arrive à la ligne utilisant le "count" je prends l'erreur suivante :
Code:
1 2 3 4
|
Warning: Undefined variable $TableauOperations in C:\xampp\htdocs\ExosClasses.inc.php on line 142
Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in C:\xampp\htdocs\ExosClasses.inc.php:142 Stack trace: #0 C:\xampp\htdocs\ModificationFeuille.php(16): ExosFeuille->AjouteOperations(0, 2, 2, '4') #1 {main} thrown in C:\xampp\htdocs\ExosClasses.inc.php on line 142 |
Je ne comprends pas le warning, car, dans la version précédente, j'avais déjà cette ligne de code qui utilise le même tableau :
Code:
1 2
|
$this->TableauOperations[$i] = $NOp; |
Je pense que l'erreur ensuite provient de la même cause que celle du warning.
Help 8O