klausschreiber
Well-known member
- 6 Mai 2006
- 247
- 8
Hallo,
ich weiß zwar theoretisch, wie man eine Klasse aufbaut usw., wie man es halt in den zig Tutorials sieht, aber ich weiß nicht wirklich, wie man ein komplettes Projekt in OOP umsetzt.
Ich schreibe ein Projekt, wo man Dateien in verschiedenen Formaten hochladen kann und in beliebige Formate umwandeln kann und auch mehrere Dateien zu einer Datei zusammenfassen kann usw. Zuerst wird das Format der Datei geprüft und dann wird die Datei mithilfe eines regulären Ausdrucks in ein Array umgewandelt um sie problemlos in ein anderes Format umwandeln zu können. (Der Aufbau ist im Prinzip immer nach dem Schema "Name", "Notiz", "Name", "Notiz", ...) Vor der Umwandlung kann man sich auch eine Vorschau als HTML-Formulare anzeigen lassen, um z.B. noch ein paar Sachen manuell zu bearbeiten. Die Dateien kann man auch im zip-Format hoch- und runterladen und es soll mithilf einer Datenbank getrackt werden, welche Funktionen wie oft genutzt werden.
Das heißt ja, ich brauche eine Converter-Klasse, eine Zip-Klasse und eine Datenbankklasse, unter Umständen noch eine Tracking-Klasse (um zu Tracken, welche Funktion wie häufig genutzt wird).
Wie baue ich das aber jetzt korrekt auf, also was kommt alles in die Klassen rein und was gehört außerhalb der Klassen?
Findet die Kommunikation zwischen den Objekten größtenteils im nicht objektorientiertem Haupscript statt und ist damit folgender Weg der Richtige?:
Die Frage ist vielleicht etwas komisch, aber ich will halt lernen, wie man so etwas als guter Programmierer umsetzen würde. Für das Vorschauformular muss ja doch auf jedenfall das Array an das Hauptscript übergeben werden, weil das Aussehen einer Webseite bzw. eines Formular generiert man ja doch nicht in der Klasse, oder?
Würde mich über Hilfe sehr freuen,
Danke, Klaus
ich weiß zwar theoretisch, wie man eine Klasse aufbaut usw., wie man es halt in den zig Tutorials sieht, aber ich weiß nicht wirklich, wie man ein komplettes Projekt in OOP umsetzt.
Ich schreibe ein Projekt, wo man Dateien in verschiedenen Formaten hochladen kann und in beliebige Formate umwandeln kann und auch mehrere Dateien zu einer Datei zusammenfassen kann usw. Zuerst wird das Format der Datei geprüft und dann wird die Datei mithilfe eines regulären Ausdrucks in ein Array umgewandelt um sie problemlos in ein anderes Format umwandeln zu können. (Der Aufbau ist im Prinzip immer nach dem Schema "Name", "Notiz", "Name", "Notiz", ...) Vor der Umwandlung kann man sich auch eine Vorschau als HTML-Formulare anzeigen lassen, um z.B. noch ein paar Sachen manuell zu bearbeiten. Die Dateien kann man auch im zip-Format hoch- und runterladen und es soll mithilf einer Datenbank getrackt werden, welche Funktionen wie oft genutzt werden.
Das heißt ja, ich brauche eine Converter-Klasse, eine Zip-Klasse und eine Datenbankklasse, unter Umständen noch eine Tracking-Klasse (um zu Tracken, welche Funktion wie häufig genutzt wird).
Wie baue ich das aber jetzt korrekt auf, also was kommt alles in die Klassen rein und was gehört außerhalb der Klassen?
Findet die Kommunikation zwischen den Objekten größtenteils im nicht objektorientiertem Haupscript statt und ist damit folgender Weg der Richtige?:
- hochgeladene Dateien kommen im Hauptscript an
- Prüfung ob zip-Dateien dabei sind -> eventuell Weiterleitung an zip-Klasse
- Inhalt der Dateien jeweils als String in einem Array speichern
- Dateininhaltstrings nacheinander an Converterklasse übergeben
- Dateiformat im Hauptscript jeweils mittels einer Methode ala "converter->getFileformat()" abrufen (ddurch wird halt der Inhalt des private Objects "$this->FileFormat" abgerufen) und an Tracking Klasse weitergeben (die Tracking-Klasse enthält eine Instanz der Datenbankklasse)
- Falls eine Vorschau angezeigt werden soll, das erzeugte Array abholen, um im Hauptscript das Formular erzeugen zu können
- An Converterklasse nacheinander senden, in welche Formate die Inhalte umgewandelt werden sollen
- Fertige Dateien als Strings nacheinander abholen (z.B. mittels einer while-Schleife, wie bei Datenbanken)
- Strings nacheinander an zip-Klasse senden und dann ausgeben.
- Die POST-Inhalte werden vom Hauptscript so, wie sie sind, an die Converter-Klasse übergeben.
- Die Converter-Klasse entzippt eventuelle zip-Dateien mithilfe einer Instanz der zip-Klasse.
- Die Converterklasse überprüft selber, in was für Formate die Dateien umgewandelt werden sollen und macht all dies und sendet auch die infos an die Trackingklasse
- Am Ende ruft das Hauptscript die fertige zip-Datei ab und sendet sie an den Browser.
Die Frage ist vielleicht etwas komisch, aber ich will halt lernen, wie man so etwas als guter Programmierer umsetzen würde. Für das Vorschauformular muss ja doch auf jedenfall das Array an das Hauptscript übergeben werden, weil das Aussehen einer Webseite bzw. eines Formular generiert man ja doch nicht in der Klasse, oder?
Würde mich über Hilfe sehr freuen,
Danke, Klaus
