phpbar.de logo

Mailinglisten-Archive

[php] Klassen oder keine Klassen?

[php] Klassen oder keine Klassen?

Andreas Demmer andreas at phpbar.de
Don Aug 14 11:57:50 CEST 2003


> 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. 

> Ich würde gerne wissen ob sich bei beiden Arten die
> Geschwindigkeiten merklich unterscheiden oder nicht.


Naja, einfach wahllos Funktionen in Objekten zusammenfassen
bedeutet ja noch lange keine Objektorientierung.
Erstmal ist eine einfache Funktion schneller, da nicht
erst das Objekt instanziert werden muss bevor man die
Methode nutzen kann. Natürlich kann man auch in der Art von
$objekt::methode() auf die Methode zugreifen, wobei es
aber dann gar keinen Sinn mehr macht, die Funktionen in 
ein Objekt zu packen.

Der Sinn von Objekten ist ja nicht die Strukturierung von
Funktionen, sondern die Kapselung von Funktonaliktäten mit
gleichzeitiger Aggregation von Attributen. In einem Objekt
teilen sich mehrere Methoden gemeinsame Variablen, welche
nach aussen hin keine Verwendung finden und teilen sich
eventuell auch Methoden. Die public/private/protected Er-
weiterungen der OOP in PHP5 machen dies noch deutlicher.
Objektorientierung wendet man nach Lehrbuch dann an, wenn
man den Code so abstrahieren möchte, um virtuelle Gebilde
zu schaffen. Diese sind dann Objekte welche über Methoden
modiziert werden, klassische Beispiele sind Warenkörbe.

Fazit: Wenn die Funktionen keinen gemeinsamen Bezug haben,
ist es wahrscheinlich besser, diese in zu includende Dateien
zu packen. Eventuell kann man sogar Funktionen in Datein
nach Themen sortieren, in etwa eine datetime_functions.inc.php
oder format_string_functions.inc.php. Dies ist dann performanter
als Objekte.

Ist Deine Frage damit beantwortet oder hast Du in eine
andere Richtung gedacht?

Gruss,
Andreas

-- 
http://www.mediadb.net | organize your media online!



php::bar PHP Wiki   -   Listenarchive