Hallo,
ich nutze schon einige Zeit Klassen und Objekte, bin inzwischen aber unsicher, ob das, was ich da tue wirklich sinnvoll ist und keine Performanceprobleme zur Folge hat. Irgendwo in einem Tutorial habe ich gelesen, dass Klassen aus Eigenschaften bestehen und aus Methoden, die diese Eigenschaften manipulieren.
1. Wenn ich das so eng auslege, dann hat eine Methode zur Validierung eines Formulars in einer Klasse nichts zu suchen, weil diese ja keine Eigenschaften manipuliert. Genauso wenig hätte eine Methode zur Anzeige aller Kunden in einer Klasse kunde nichts zu suchen, weil diese ja auch keine Eigenschaften manipuliert. Richtig?
2. Wenn obige Aussage richtig ist, dann hole ich im Konstruktor der Klasse eine Tabellenzeile (z. B. aus einer Tabelle kunde) und schaufle die Felder in die Objektvariablen(Eigenschaften). Nun manipuliere ich die Werte (z.B. mit einer Methode ->setAdresse ($strasse, $plz, $ort) bzw. setKundenummer und schreibe danach die Werte mit einer Methode ->updateDB () zurück in die DB. Ist das so richtig verstanden? Für die Performance kann es ja nicht förderlich sein, wenn ich in setAdresse bzw. setKundenummer gleich einen Update auf die DB mache. Richtig?
3. Spricht etwas dagegen in einer Methode auf Superglobals wie $_GET ['strasse']zuzugreifen oder sollte man den Inhalt von $_GET zuerst in eine Klassenvariable mit $kunde->strasse = trim($_GET ['strasse']) übertragen und von dort dann in die DB schreiben?
4. Für die Performance sollte es doch förderlich sein, wenn man Klassen möglichst klein hält und besser mit vielen kleinen Klassen statt mit wenigen grossen arbeitet. Richtig?
Für einige kurze Tips wäre ich dankbar.
ich nutze schon einige Zeit Klassen und Objekte, bin inzwischen aber unsicher, ob das, was ich da tue wirklich sinnvoll ist und keine Performanceprobleme zur Folge hat. Irgendwo in einem Tutorial habe ich gelesen, dass Klassen aus Eigenschaften bestehen und aus Methoden, die diese Eigenschaften manipulieren.
1. Wenn ich das so eng auslege, dann hat eine Methode zur Validierung eines Formulars in einer Klasse nichts zu suchen, weil diese ja keine Eigenschaften manipuliert. Genauso wenig hätte eine Methode zur Anzeige aller Kunden in einer Klasse kunde nichts zu suchen, weil diese ja auch keine Eigenschaften manipuliert. Richtig?
2. Wenn obige Aussage richtig ist, dann hole ich im Konstruktor der Klasse eine Tabellenzeile (z. B. aus einer Tabelle kunde) und schaufle die Felder in die Objektvariablen(Eigenschaften). Nun manipuliere ich die Werte (z.B. mit einer Methode ->setAdresse ($strasse, $plz, $ort) bzw. setKundenummer und schreibe danach die Werte mit einer Methode ->updateDB () zurück in die DB. Ist das so richtig verstanden? Für die Performance kann es ja nicht förderlich sein, wenn ich in setAdresse bzw. setKundenummer gleich einen Update auf die DB mache. Richtig?
3. Spricht etwas dagegen in einer Methode auf Superglobals wie $_GET ['strasse']zuzugreifen oder sollte man den Inhalt von $_GET zuerst in eine Klassenvariable mit $kunde->strasse = trim($_GET ['strasse']) übertragen und von dort dann in die DB schreiben?
4. Für die Performance sollte es doch förderlich sein, wenn man Klassen möglichst klein hält und besser mit vielen kleinen Klassen statt mit wenigen grossen arbeitet. Richtig?
Für einige kurze Tips wäre ich dankbar.
Kommentar