Bonjour,
dans mon appli MVC de lecture de fichiers CSV, un contrôleur reçoit en entrée un fichier CSV ; il l'analyse ligne par ligne, ce qui veut dire qu'il transmet chaque ligne à une méthode du modèle ; celle-ci analyse la ligne et met à jour un tableau des erreurs (s'il y en a). Autrement dit, pour chaque ligne du CSV, une nouvelle instance de la méthode du modèle. Par contre, le tableau des erreurs est propre au fichier. La méthode du modèle va donc travailler dessus. Néanmoins, il existe avant l'instanciation de la méthode. Voici comment je m'y prend pour lui transmettre le tableau et que celle-ci travaille dessus.
Je trouve la technique un peu lourde, donc si y a moyen de simplifier, je suis preneur.
Code php : 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 $this->data = $ref_parser->data(); foreach ($this->data as $line_csv) { extract($line_csv); $ref_model_license_record = new Record($line_csv); $this->errors = $ref_model_license_record->analyze($this->errors);/*la propriété errors appartient au contrôleur. A chq ligne lue du CSV ($line_csv), une nouvelle instance de la classe du modèle Record. Pour que celle-ci connaisse le tableau et le mette à jour : public function analyze($errors) { $this->errors = $errors; //pour conserver les précédentes erreurs ... $this->errors.= $new_error."##"; ... return $this->errors; } */
Partager