OOP in php für was!?

SonicBe@m

Erfahrenes Mitglied
Hy Leute,
Ja ich weiss normal müsste es Offtopic aber ich dachte das es hier besser reinpasst !

Es geht um OOP in PHP und zwar darum für was man es eigentlich gebrauchten könnte und ob es nicht doch mehr Arbeit ist und eigentlich nichts bringt!

Ich habe heute einige classen gesehen wo ich mich wirklich gefragt habe wozu OOP in PHP gut sein soll? Man kann doch auch alles als eine Funktion schreiben für was dann OOP?

Ich habe bissher noch nie erlebt das ich innerhalb von PHP jemals 2 Instanzen einer Klasse aufgerufen habe.

Würdet ihr mir mal ein vernünftiges Beispiel nennen wo es wirklich SINVOLL ist OOP mässig zu schreiben!?
 
Original geschrieben von SonicBe@m

Ich habe bissher noch nie erlebt das ich innerhalb von PHP jemals 2 Instanzen einer Klasse aufgerufen habe.

Weil du nicht weisst wie du deine Script Object Orientiert designest.

Gerade PHP ist ein schlechter Lehrer was OOP angeht, da die Scripts meist klein und leicht verständlich sind.

OOP spielt seine stärke zumeist entweder bei Programmierung von
"greifbaren" Objecten (wie GUI Elemente) oder bei umfangreicher Programmierung (10.000 Zeilen und mehr) aus.

Wenn du OOP lernen willst:
Java, C# währen 2 sehr gute Lehrer dafür. Eingeschränkt auch C++
 
Original geschrieben von SonicBe@m
...Ich habe bissher noch nie erlebt das ich innerhalb von PHP jemals 2 Instanzen einer Klasse aufgerufen habe...
Man muss eine Instanz auch nicht unbedingt mehrmals aufrufen. Ziel der OO ist ja u.A., dass man Funktionalität bündelt. Schau dir mal die PEAR Klassen an und du wirst sehen, dass du mit PEAR-Mail mit einer bis zwei Zeilen Sachen machen kannst, von denen du nicht weißt wie du sie selber schreiben müsstest. Blackbox.
 
Deswegen hab ich am anfang auch gesagt ----> PHP <---- das steht sogar im Titel

Nein das bündeln hatt nichts mit OOP zutun. Das ist einfach gutes Programmieren wenn du Funktionen so schreibst das du sie in anderen Funktionen wieder benutzen kannst.

Nein mir ging es nur darum für was man OOP im php braucht das war rein retorisch
Ich selbst bin ja Java Programmierer und nichts ist dort angenehmer als OOP

aber halt in PHP kann ich damit nichts anfangen ^^ man steckt mehr Logik rein als man rausbekommt.

Ich habe nur mal so gefragt hätte ja sein können das einer von euch evt. nen beispiel hätte wo man sowas richtig einsetzen könnte.
 
Zuletzt bearbeitet:
Ich finde OOP in PHP sehr angenehm.
Besonders wenn man im Team arbeitet und der eine Funktionen vom anderen braucht.
Dann sinds 2 Zeilen im Code und man benutzt die Funktion vom Anderen.

Auch ist es praktisch, da die Variablen in den Klassen, sofern $this vorsteht, in jeder Funktion verfügbar sind ohne immer global zu schreiben (was ich sowieso immer vergessen und mich frag wo der Fehler liegt).

Auch praktisch ist es um den Code strukturierter und übersichtlicher zu halten.
Man hat dann in seinem "Hauptcode" (der Code der dann die Klasse benutzt) nicht diese ganzen Code-Segmente, sondern hat einen sofortigen Überblick was nach und nach passiert.

Soviel dazu, es gibt sicherlich noch mehrere Vorteile. Ich glaube sogar, dass objektorientierte Programmierung in der Performance noch Vorteile bringt.
 
Ich zum Beispiel arbeite gerade in einem 3 Mann-Team an einem Browsergame (Benutzen auch das angesprochene PEAR und auch smarty, was beides mit OOP arbeitet), welches wir komplett OO schreiben.
1. Muss man sich nur minimal in den Code einarbeiten
2. Kann man sich alles besser aufteilen.
3. Wiederverwendbarkeit erhöht sich - Das merkt man, wenn man ein weiß ich wie viele 1000 Zeilen Projekt baut ;)
 
OK, Zeilen haben nicht viel zu sagen. Ich z.B. kommentiere ganz gern mal und mach mal Leerzeichen ums übersichtlich zu haben. Da komme ich in 3-4 Stunden locker auf 1000 Zeilen.

Ich arbeite auch gerade in einem 2-Mann-Team daran, ein bestehendes Script zu erweitern.
Und da ist nichts besser als OOP. Dann kann man in dem bestehenden Script viele Funktionen hinzufügen ohne das ganze Script zu verändern.

Ich könnte mir keine Template-Engine vorstellen, die nicht auf OOP basiert.
Oder eine Funktionensammlung, in der eine Funktion die andere benötigt. Das wäre ohne OOP total unübersichtlich und die Wiederverwendbarkeit ist dann schwierig zu realisieren.
 
SonicBe@m hat gesagt.:
Würdet ihr mir mal ein vernünftiges Beispiel nennen wo es wirklich SINVOLL ist OOP mässig zu schreiben!?

Datenbankklasse:

$db = new mysql_db_class('localhost', 'user', 'password', 'database');

Bei umstellung auf eine andere Datenbank (z.B. Access oder Postgres):

$db = new postgres_db_class('localhost', 'user', 'password', 'database');

Der Rest deiner Skripte bleibt dann unverändert und du könntest sogar die Datenbank über eine Konfig-Datei umschaltbar machen. Vorausgesetzt natürlich, alle Methoden von mysql_db_class sind auch in postgres_db_class implementiert.

Gruß Marian
 
SonicBe@m hat gesagt.:
Deswegen hab ich am anfang auch gesagt ----> PHP <---- das steht sogar im Titel

Nein mir ging es nur darum für was man OOP im php braucht das war rein retorisch
Ich selbst bin ja Java Programmierer und nichts ist dort angenehmer als OOP

aber halt in PHP kann ich damit nichts anfangen ^^ man steckt mehr Logik rein als man rausbekommt.

ich bin da so wie du wenn ich der Meinung bin das Projekt wird so gross das ich OOP brauche dann setze ich PHP nicht mehr ein :-)

Sprich mir entzieht sich auch der Sinn von oop bei PHP
 
Zurück