Mini Webanwendung. OOP sinnvoll?

suntrop

Erfahrenes Mitglied
Hallo,

ich habe vor mein kleines News-Tool - Nachrichten können im Backend eingetippt und im Frontend angezeigt werden - zu aktualisieren.

Zur Zeit lerne ich OPP mit PHP und möchte natürlich auch mal was praktisches machen, jedoch habe ich des öfteren gelesen, dass es nicht zwangsläufig sinnvoll ist OO zu arbeiten. Zum einen weil das Programm dafür zu klein ist und zweitens weil es auch (nur bei schlechter Programmierung?) langsamer ist bzw. sein könnte.

Von welcher Zeit sprechen wir dann? 2 Sekunden, 0,3 Sekunden 0,0000001 Sekunden?
Was verursacht die Verlangsamung? Meint ihr es ist quatsch für ein solch kleines Programm erst eine Klasse zu schreiben und dann ein Objekt abzuleiten?


Grüße
suntrop
 
Hi,

Ich glaube um Geschwindigkeit musst du dir keine Sorgen machen.
Mir fällt jetzt auch kein Grund ein, warum OOP langsamer sein sollte. (Schlechte Programmierung zählt nicht, damit kann man auch prozedualen Code verlangsamen)

Wenn du OOP praktisch anwenden willst ist es natürlich KEIN Quatsch, denn du lernst es dabei. Das knifflige beim ersten schreiben von OOP ist ja (zumindest finde ich das) zu kapieren, wann und warum es einen WIRKLICHEN Vorteil bringt.

Und selbst bei so einem kleinen Tool, könnte man einiges machen:
- Klasse für DB-Verbindung
- Klasse für Form Validierung
- Template-Klasse zum Ausgeben der Daten
- ...


Gruß

.:lay-z-cow:.
 
Hallo suntrop,

ich finde es immer wieder amüsant wie sich manche Leute bei PHP Gedanken über Geschwindigkeit machen. Wenn du wirklich nur kleine Programme bzw. Webanwendungen schreibst, dann ist der Unterschied zwischen Klassen und prozeduraler Programmierung minimal. Man sollte sich erst Gedanken machen, wenn man wirklich Performanceschwirigkeiten bekommt, aber selbst dann ist es sehr sehr unwahrscheinlich dass es am OOP-Stil liegt.

Ich habe mal ein kleines Script geschrieben, welches die Geschwindigkeit misst.
Das Script findest du hier: http://robsi.de/oop.php
(Das __m('...'); wird zum messen der Zeit benötigt)
Und wie du hier vielleicht erkennen kannst, ist die Klasse sogar schneller :)
Was du aber vielleicht noch siehst... die Zeit die das Script braucht bzw. die Klasse/Funktion ist minimal...

Also mach dir um Geschwindigkeiten keine Gedanken, solange du dich nicht in der Größenordnung wie z.B. joomla oder vbb bewegst.

Gruß

Devil
 
Also zur Geschwindigkeitssache.. PHP ließt Objekte bei der Instanzierung ein, nicht beim Include. So hat man bei Nichtverwendung einen kleinen vorteil gegenüber langen Funktionsbibliotheken.

Was für Vorteile bieten sich noch.. wenn du das Deine Klasse gut schreibst ist es sehr einfach diese in andere Umgebungen zu integrieren, und ggf. nur Kleinigkeiten abzuändern. Aber dennoch die Möglichkeit bleibt die Hauptklasse upzudaten.

Ich verwende meist objekte / Klassen sobald es über das "eine Seite Tool" hinaus geht. Ein bisschen was zusammenkopieren. Aber auch da sind oft Datenbank-Klassen Allgegenwertig. Einfach weil sie Kontrolle hinein bringen und auf ggf. Fehler hinweisen die man übersehen hatte. Oder Hackingversuchen die Kontrolle bedürfen.

Aber eine Klasse zu Erstellen und die zu verwenden ist nicht zwangsweise Objekt Orientiertes Programmieren ,)


Edit: Durch schlechte MySQL Abfragen verliert man bei größeren Datenbanken schnell mal 2 oder 3 Sekunden
Durch Schlechte Daten Strukturen oft mal 15 Sekunden
Wenn man sockets verwendet, timeouts nicht setzt, sonstige fehler macht... braucht das Skript 30 Sekunden länger und Timeoutet.

Nur mal so, Struktur und Fehlerfrei Programmieren >>>>>>>>>>>>>>>>> als OOP oder nicht OOP
 
Zuletzt bearbeitet:
Ich danke euch für die Antworten.

Dann habe ich ja jetzt eine Sorge weniger ;)

lay-z-cow hat gesagt.:
…zu kapieren, wann und warum es einen WIRKLICHEN Vorteil bringt
Das ist wohl wahr. Ehrlich gesagt, habe ich es bisher nur zu 50% erschlossen/verstanden :p


Also dann, meine Klasse kann kommen. Nochmals Danke für die Hilfe.

Grüße
suntrop
 
Zurück