Announcement

Collapse
No announcement yet.

PHP und OOP

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PHP und OOP

    Hallo zusammen,
    ich möchte eine Datei (mit mehreren 100 Zeilen) Zeilenweise abarbeiten.
    Die Felder in den Zeilen sind durch ein "+" getrennt.
    Die Zeilen selber sind unterschiedlich lang.
    (Es handelt sich hier um das EDIFACT Format, nur falls es irgendwem was sagt.)

    Die einzelnen Felder muss ich in verschiedenen Dateien neu zusammensetzten.
    Diese neue Datei wird dann in die Datenbank geschrieben.

    Ich habe das alles schon gemacht, funktioniert auch alles.

    Da aber in Zukunft noch andere ähnliche Aufgaben auf mich zukommen, habe ich mir gedacht
    ich mach das ganze mal Objektorientiert, damit man den vorhandenen Code leicht wiederverwenden kann
    und das ganze übersichtlicher wird. Sowas habe ich aber noch nie gemacht.

    Folgende Fragen habe ich dazu:
    Ist das überhaupt sinvoll, die Geschichte ObejektOrientiert zu Programmieren?
    Wenn ja, wie mache ich das am besten? (Wie gesagt: noch nie gemacht)

    Für Tipps und Hilfe wäre ich dankbar.
    Viele Grüße
    Olli

  • #2
    Hallo Olli,

    warum nicht, OO ist (fast) immer ein guter Ansatz

    Zuerst solltest du überlegen, in welche kleinsten gemeinsamen Bestandteile du das ganze abstrahieren kannst. Da fällt mir spontan neben init() und done() noch open_source(), open_target(), close_source(), close_target(), read_source(), write_target() und convert_data() ein. Damit liese sich jetzt eine abstrakte Klasse in der Form: siehe Anhang
    anlegen.

    Wie gesagt, sehr abstrakt und ausbaufähig, aber der Aufruf:

    $theConverter = new KindOf_baseConverter('source', 'target);
    $theConverter->convert_all();
    $theConverter->done();

    wäre immer gleich. In abgeleiteten Klassen ist es dann dir überlassen, wie die konkrete Umwandlung in convert_data() aussieht oder ob eine Textdatei oder ein Remoteziel geöffnet und gelesen wird.

    Viel Spaß beim probieren.

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo Falk,
      vielen Dank.
      Ich werde mal probieren, ob ich das anhand deines Gerüstes irgendwie hinbekomme.

      Viele Grüße
      Oll

      Comment

      Working...
      X