1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| interface FileReader {
public function lireFichier($filePath);
}
abstract class AbstractTextFileReader implements FileReader {
public function lireFichier($filePath) {
if (($handle = fopen("test.csv", "r")) !== FALSE) {
$data = lireContenuFichier($handle);
fclose($handle);
}
return $data;
}
abstract protected lireContenuFichier($handle);
}
class CsvFileReader extends AbstractTextFileReader {
protected lireContenuFichier($handle) {
$data = [];
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
$data[] = $row;
}
return $data;
}
}
class SimpleTextFileReader extends AbstractTextFileReader {
protected lireContenuFichier($handle) {
$data = [];
while (($line = fgets($handle) !== FALSE) {
$data[] = $line;
}
return $data;
}
} |
Partager