Mailinglisten-Archive |
> 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