Mailinglisten-Archive |
Hallo Ringo,
Ringo Großer wrote:
> Hallo Liste,
>
> ich möchte gern meine CSV-Abstraktionsklasse überarbeiten
> und bin bei meinen Überlegungen nochmal auf eine grundsätzlich
> notwendige Entscheidung gestoßen, zu der ich eure Meinung
> wissen möchte.
>
> Die CSV-Klasse behandelt das Lesen und Schreiben von CSV-
> formatierten Textdateien (im allg. Sprachgebrauch
> "kommasepariert") und berücksichtigt dabei die zahlreichen
> möglichen Varianten der Formatierung solcher Dateien.
>
> Bislang stellt meine CSV-Klasse eine Abstraktion zur Verfügung,
> die mit mehreren Dateien in einem Objekt umgehen kann. Man
> kann also mit einem Objekt mehrere Files lesen oder schreiben.
> Dies wird über die Setter-Methoden setInput() und setOutput()
> getan.
>
> Alternativ könnte ich mir nun aber auch vorstellen, dass man
> eine CSV-Datei selbst als Objekt mit Eigenschaften betrachtet
> und dieses mit der Klasse abbildet.
> Somit würde ein CSV Objekt immer nur eine Datei behandeln
> und entsprechende Eigenschaften und Methoden zur Verfügung
> stellen. Aus setInput und setOutput würde dann ein allgemeines
> setFile werden und über z.B. setMode würde man festlegen,
> ob der Zugriff lesen oder schreibend erfolgt.
>
> Welche Sichtweise wäre eurer Meinung nach zu bevorzugen,
> erscheint dem Anwender logischer oder ist hinsichtlich
> Objektorientierung die richtige?
>
> regards, Ringo
Ich würde zu einem Objekt pro CSV Datei tendieren.
Hier könnte man noch ein wenig weitergehen. Z.B. habe ich für MySQL 2
Klassen geschrieben.
Eine die die Verbindungsdaten handelt und Queries absetzt und eine
Weitere Klasse die die Results handelt
Bsp:
$mysql = new msqlConnection('localhost','user','pass', ...);
$result = $mysql->query('Select * Form `foo`');
while($data = $result->fetchAssoc()) {
...
}
grüße
Martin
php::bar PHP Wiki - Listenarchive