Hellihello JJ,
- Der Dateipfad existiert nicht. Was gibt dann die Funktion zurück?
Einen falschen Wert, kombiniert mit einer Fehlermeldung, die man abfragen kann.
"falscher Wert" gleich "leeres Array", oder?
- Dateipfad existiert, dass File ist aber leer bzw. enthält nur leere Einträge?
Leeres File: wie 1.
Jau.
Leere Einträge: leeres Array.
Dass die Funktion ->get_table_as_list_of_hash() in Fall 1. oder 2. dann selbst anfängt zu sprechen wie mit
echo "file nicht vorhanden" oder echo "file leer" scheint mir nicht besonderes glücklich.
Sprechen nur in Form von abfragbaren Fehlermeldungen. Man kann noch bei der instantiierung ein flag setzen lassen und Warnungen protokollieren bzw. auswerfen (wäre bei einem leeren file evtl. sinnvoll)
Ah, so war das unten gemeint.
Man könnte natürlich auf die Fallunterscheidung 1./2. verzichten und weiß immerhin: entweder ist die Tabelle leer oder sie existiert nicht. Oder man baut weitere Funktionen ein wie
->exists_file()
->is_empty()
Dann würde die Klasse nur einen Teil ihrer Aufgaben erledigen. Sowas wie "wenn file existiert und nicht leer ist, dann instantiiere Klasse" finde ich doof.
Ich hatte das jetzt so gedacht:
$my_csv_reader = new My_CSV_Reader("file_name.csv");
$my_table_as_list_of_hash = $my_csv_reader->get_table_as_list_of_hash();
// und dann
if (!count($my_table_as_list_of_hash)) {
if (!$my_csv_reader->exists_file()) {
echo "Datei existiert nicht"; //bzw. an View weiterreichen
}
elseif (!$my_csv_reader->is_empty()) {
echo "Datei ist leer"; //bzw. an View weiterreichen
}
else {
echo "Die Liste ist leer, keine Ahnung warum"; //bzw. an View weiterreichen
}
}
Dank und Gruß,