phpbar.de logo

Mailinglisten-Archive

[php] Klassen oder keine Klassen?

[php] Klassen oder keine Klassen?

Lutz Zetzsche php at sea-rescue.de
Don Aug 14 12:01:49 CEST 2003


Hi Daniel,

Zitat von D.Herbort at gmx.de:

> Hab da mal eine kleine Frage. Ich habe vor einige häufig von mir benutzte
> Funktionen (eigene Funktionen versteht sich) in Klassen zu packen damit ich
> sie
> einfacher in verschiedene Projekte einbinden kann.
>
> Leider hab ich aber keine Ahnung wie sich das auf die Geschwindigkeit
> auswirkt. Wie sind so eure Erfahrungen? Werden Funktionen in einer Klasse
> merklich
> langsamer ausgeführt als wenn ich sie z.B. mit Hilfe einer Datei nur include?
> Für das Aufrufen der Klasse und das Erstellen eines neuen Objekts geht doch
> sicherlich mehr Zeit drauf als wenn ich nur die Funktion aufrufe (was ja
> eigentlich logisch ist).
> Ich würde gerne wissen ob sich bei beiden Arten die Geschwindigkeiten
> merklich unterscheiden oder nicht.

also ich habe jetzt keine Messdaten. :-) Aber ich habe neulich eine
Zeiterfassung, die ich programmiert hatte, von Spaghetti-Code auf
objektorientierte Programmierung (OOP) umgestellt. Einen
Geschwindigkeitsunterschied konnte ich dabei subjektiv nicht wahrnehmen. Die
Geschwindigkeitsdifferenzen sind vermutlich marginal. Selbst wenn es etwas
laenger dauern sollte, wenn man mit Klassen arbeitet, weil erst einmal ein
Objekt der Klasse instanziert werden muss (oder wie das heisst :-) ), so habe
ich doch den Verdacht, dass dieser Nachteil dadurch mehr als wett gemacht
gemacht wird, dass der entsprechende Spaghetti-Code viel unuebersichtlicher und
vermutlich umstaendlicher und redundant programmiert sein wird.

> Vorteil einer Klasse ist natürlich auch, dass die enthaltenen Funktionen und
> Variablen vom Rest des Scripts soweit abgekapselt wären was bei Funktionen
> die in verschiendene Projekte eingebaut werden ja durchaus Sinn machen würde.
> So von wegen doppelt vergebene Funktionnamen usw. was ja schon mal
> unbeabsichtigt vorkommen kann, besonders wenn mehrere Leute am Projekt
> sitzen.

Frueher habe ich ohne Klassen und Objekte gearbeitet, weil ich mit dem
objektorientierten Denken nicht zurecht kam. Dann habe ich mich im Rahmen eines
Projekts mal mit Java und zwangslaeufig mit OOP beschaeftigt. Irgendwann habe
ich den objektorientierten Ansatz dann verstanden. Vor allem habe ich endlich
verstanden, wofuer OOP gut ist. :-)

Ich habe mittlerweile meine Website und besagte Zeiterfassung objektorientiert
programmiert und muss sagen, dass OOP einfach nur geil ist. :-))) Deine
Programmierung wird dadurch enorm uebersichtlich und flexibel. Ich habe frueher
immer Probleme gehabt, redundanzfrei zu programmieren und nachtraeglich zu
erweitern oder zu skalieren. Das ist heute mit OOP kein Problem mehr.

Viele Gruesse

Lutz

php::bar PHP Wiki   -   Listenarchive