Hi Chris,
Welchen Sinn hatt OOP in PHP überhaupt? Es findet ja keine Kapselung statt. Den einzigen Vorteil sehe ich darein, dass man mit dopplet vergebenen Funktionsnamen nicht so aufpassen muss.
Ne, Ne, OOP erleichtert einfach die Modularisierung, und macht allgemein den Code besser handlebar. Du hast klar definierte Schnittstellen in Deinem System und kannst Teile des Codes problemlos austauschen. Die Abstraktion von Real-World Objekten auf Programmierprojekten macht das Programmieren anschaulicher. Wenn Du beachtest auf Attribute immer mit Zugriffsfunktionen zuzugreifen, kannst Du in vielen Fällen schön einfach erweitern... OOP hat viele Vorteile, und bei allem was über ein paar Zeilen Ausgabe oder so herausgeht setzte ich immer OOP ein. Wenn solche Systeme wachsen, und immer wieder neue Anforderungen implementiert werden müssen, erleichtert das das Leben enorm.
Kannst Du mir also den Sinn für OOP speziell in der Welt der Webscripte erklären?
Ich kapsle meistens die Daten, und die ganze Funktionalität in Klassen, für die Ausgabe schreibe ich dann Templates (=PHP-Seiten), in denen die Klassen eingebunden werden, und an den entsprechenden Stellen rufe ich Methoden auf, die variable Bestandteile einfügen. Die Methoden sollten dabei möglichst wenig HTML-Tags "ausspucken", sondern nur Daten.
Präsentationslogik (z.B. jder 2. Zeile rot, oder so) kann man in die Templates packen, diese sollten aber keine Anwendungslogik enthalten.
Ich denke so oder so ähnlich werden die meisten Leute arbeiten, die Objektorientiert PHP programmieren (O.K. das war jetzt Implmentierung, nicht Sinn).
Ein echtes Entwicklungssxstem dafür gibts ja auch nicht, oder?
Es gibt Editoren, die Dir die Klassen parsen, und Codeergänzung anbieten (d.h. Du schreibst den Namen einer Objektvariablen hin, und kriegst eine Liste der Methoden zum auswählen), das ist eigentlich ganz praktisch, Maguma Studio kann das glaube ich. (Ich selbst verwende es nicht, weil ich unter Linux arbeite).
Gruss
Marko