Hallo Forum!
Ich stehe vor der Überlegung, eine Webanwendung mit PHP (leider Version 4.3) objektorientiert zu programmieren - oder eben nicht. Was mich davon abhält, ist vor allem auch das limitierte Objektmodell bei Versionen < 5, allerdings ist es in meinem Fall leider nicht möglich, auf Version 5 umzusteigen.
Allerdings kommt es mir auch so vor, als ob mir die komplette objektorientierte Programmierung nur Mehraufwand verursacht. Warum für jeden Krümel get- und set-Methoden schreiben? Auch die Sichtbarkeitsbereich von Objekten, die ja wohl nur die Ausführung des Skripts andauert, verursacht in meinen Augen viel Mehrarbeit (Objekte zwischenspeichern um wieder auf sie zugreifen zu können).
Ich finde den Einsatz von Klassen nur sinnvoll, bei den "klassischen" Funktionen wie z.B. einer Datenbankklasse, die sich um die Verbindung kümmert, der ich nur ein $db->executeQuery('...') übergeben muss und eine nette Antwort bekomme. Danach kann ich das Objekt löschen und alles passierte innerhalb eines Seitenaufrufs (ich brauche das DB-Objekt also nicht serialisieren und irgendwo zwischenspeichern).
Ansonsten kommt mir eine modulare Aufteilung sinnvoller vor. Ich will zum Beispiel gleiche Teile einer HTML-Seite, wie den Header-Bereich (von <!doctype bis <body>) oder z.B. das komplette Menü des Projekts in einzele php-Dateien auslagern, so dass ich sie per include laden kann und bei Änderungen nur einmal bearbeiten muss. Oder z.B. ein Datenbankmodul, dass alle DB-Funktionen enthält (und für Anfragen die DB-Klasse nutzt).
Einzelne Seiten des Projekts würde ich dann nach wie vor imperativ programmieren und dabei auf meine Module zurückgreifen. Ist das nicht viel einfacher, als auf Biegen und Brechen alles objektorientiert zu machen?
Welcher Meinung seid ihr? Was sind eure pro- und contra-Argumente für/gegen Objektorientierung mit PHP? Würd mich sehr interessieren - und vielleicht hilft's auch bei meiner Entscheidung.
Viele Grüße
osaki