PHP und OOP Sinnvoll?

KristophS

Erfahrenes Mitglied
So ,mittlerweile bin ich relativ gut mit den Grundsätzen und anderen Sachen vertraut.
Im Moment überlege ich mir ob ich mich an OOP ,in PHP 4, wagen soll und vor allen Dingen ob es sich lohnt.
Ich habe in vielen vielen Beiträgen gelesen das in PHP der Objekt orientierte Ansatz zu kurz gekommen ist und vor allem zu langsam.
Habe ich duch z.b. eine mysql klasse echten Performance Verlust?
 
PHP setzt in Zukunft viel mehr auf Objektorientierung als bisher. PHP5 geht in dieser Hinsicht einen großen Schritt nach vorn. Ausserdem hilft Dir die Erstellung von Klassen Deinen Code wiederverwendbar zu machen und zusammenhängende Methoden und Eigenschaften zu kapseln.
 
Ddanke f+r deine Antwort aber wie ist das mit der Geschwindigkeit?
Nun eigentlich sollte sie ja nicht leiden ,denn , selbst ein wbb2 , setzt klassen ein ;).
Nur bin cih mir da nicht sicher :(
 
Ohne jetzt die Codequalität des WBB2 schmälern zu wollen (ich kenne sie nämlich nicht), nur weil jemand Klassen nutzt, heisst das noch lange nicht, dass er wirklich adequat objektorientiert programmiert.
 
Immerhin ermoeglichen es die OOP Funktionen von PHP auch schon vor PHP5, leichter les- und wartbareren Code zu schreiben.
Vor allem wenn man mit mehr als einem Programmierer arbeitet und vorhat seinen Code auch noch nach einem Jahr zu verwenden, ist das ein sehr groszer Gewinn - wenn die Performance leiden sollte, kauft man eben einen schnelleren Server; Das kommt billiger als die Mehrarbeit, die ein Programmierer zu tun hat.

Natuerlich leidet unter zunehmnder Abstraktion irgendwann die Performance. Die Frage ist, ob dafuer nicht die Vorteile (wie leichterer Umgang/Wartung mit dem Code) ueberwiegen.
 
Ich stehe zwar allein mit meiner Meinug :-(
Aber OO macht bei einer Scriptsprache wie PHP kein Sinn

Und es ist ein Grücht das OO den Code lesbarer macht.
Wiederverwendbar sind auch normale PHP Functionen

und wie schon ein Vorredner sagte vor PHP 5 sollte man von OO
die Finger lassen
 
Aber OO macht bei einer Scriptsprache wie PHP kein Sinn
Objektorientierung macht auch in Skriptsprachen Sinn, das ist kein Argument. Bei PHP ist das Problem wohl eher, dass die Sprache nicht von Grund auf als objektorientiert geplant war. Nachträgliche OO-Strukturen in eine Sprache einzubauen dürfte etliche Probleme aufwirbeln.

Und es ist ein Grücht das OO den Code lesbarer macht.
Wiederverwendbar sind auch normale PHP Functionen
Ja und nein. Natürlich kann man auch mit objektorientierten Sprachen Spaghetticode schreiben, aber im Großen und Ganzen ist OO schon sinnvoller, weil sich dadurch bestimmte Dinge kapseln lassen. Allein bei der Vererbung hat man deutliche Vorteile, wenn man Klassen oder Methoden erweitern will, ohne sich in den ursprünglichen Code einzumischen.
 
Original geschrieben von melmager
...Wiederverwendbar sind auch normale PHP Functionen...
Das ist zwar richtig, aber was machst du wenn du was wirklich großes hast? Der Erfolg spricht z.B. für PEAR.
OO macht den Code immer langsammer. Man muss einen Kompromiss zw. Geschwindigkeit und Widerverwendbarkeit finden.
 
gerade bei DB-Anbindungen macht OOP sinn, wenn du z.B. ein Verbindung zu 3 Datenbanken brauchst. Da will ich sehen wie du deine DB-Abstraktion jedesmal neu programmierst. (Jetzt mal abgesehen davon, das man in jede PHP-Datei brav sein db_connect und co reinschreibt...)


Objektorientierung macht auch in Skriptsprachen Sinn, das ist kein Argument. Bei PHP ist das Problem wohl eher, dass die Sprache nicht von Grund auf als objektorientiert geplant war. Nachträgliche OO-Strukturen in eine Sprache einzubauen dürfte etliche Probleme aufwirbeln.

also quasi wie bei c++ :-)
 
Ben Ben hat gesagt.:
gerade bei DB-Anbindungen macht OOP sinn, wenn du z.B. ein Verbindung zu 3 Datenbanken brauchst. Da will ich sehen wie du deine DB-Abstraktion jedesmal neu programmierst. (Jetzt mal abgesehen davon, das man in jede PHP-Datei brav sein db_connect und co reinschreibt...)

Datenbank Klassen wie ich sie hier oft erlebe reizen aber OOP nicht annähernd aus, und macht meiner Meinung nach nur wenig sinn wenn der rest prozedual geschrieben wird.

Ben Ben hat gesagt.:
also quasi wie bei c++ :-)
Ja und nein.
Einerseits gilt C++ zwar als OOP Programmiersprache, gehört aber nicht zu jenen Sprachen die es absolut konsequent umsetzen.
Zwar gehen Java / C# da nochmal ein Stück weiter in der Umsetzung von OOP, aber auch jene setzen OOP nicht hundertprozentig um (wenn auch sehr sehr sehr knapp dran).
Beispiel gibt es in java und C# noch Schlüsselwörter wie eben if die wiederrum keine Objecte
sind.
Eine Sprache die OOP absolut konsequent umsetzt ist Smalltalk und auf Scriptseite Ruby.
 
Zurück