Rollo: Objektorientierung - Frage

Beitrag lesen

Hallo,
ich habe eine Frage zur objektorientierten Programmierung in PHP.

Nehmen wir folgenden Test-Fall:

ein HTML-Formular besitzt drei Checkboxen. Dieses Formular schicke ich per submit ab, übergebe einem PHP-Objekt diese Daten

  
$myObject = new object();  
$myObject->setBox1($_POST["box_1"]);  
$myObject->setBox2($_POST["box_2"]);  
$myObject->setBox3($_POST["box_3"]);  

und lese die Daten wieder aus, um die Status in den Checkboxen entsprechend anzuzeigen

  
$myObject->getBox1();  
$myObject->getBox2();  
$myObject->getBox3();  

Die Daten wurden bisher nicht in einer Datenbank gespeichert. Erst wenn ich noch ein Häkchen (Daten speichern) aktiviere, und dann den submit-button drücke, werden die Werte wieder gesetzt und dann in der Datenbank gespeichert.

  
$myObject = new object();  
$myObject->setBox1($_POST["box_1"]);  
[..]  
$myObject->save();  

Also das gleiche wie vorher

Nun möchte ich nach dem Speichern der Daten wieder meine Checkboxen mit den Werten füllen. Dazu würde ich wieder die getter aufrufen, wie gehabt. Aber ich möchte nun rein testweise dazu die Daten aus der Datenbank verwenden (ich weiß, es sind die gleichen Werte wie die aus P_POST).

  
$myObject->getBox1();  

getBox1() soll also die Daten aus der Datenbank holen, und nicht den Wert, der von $_POST übergeben wurde. Wie macht man das?

a) man hat in der Methode getBox1() einen Schalter, der der Methode mitteilt, ob sie die Daten aus der DB nehmen soll, oder den aktuellen Zustand des Objektes

b) man initialisiert das Objekt mit den Daten aus der DB nochmal neu

c) man hat eine eigene Methode getBox1DB(), die die Daten immer nur aus der Datenbank holt

d) denke ich komplett falsch?

das ist nur ein Testcase, wie gesagt.

vielen Dank