Vielleicht kann mir jemand die folgende Situtation erklären?
Ich instantiiere die Controllerklasse 'Controller' und erstelle
dort mein Datenhaltungsobjekt 'Model'.
Das Model speichert User generated content in Sessions.
Nach Ausführung des 1. Requests, werden mir
auch alle Daten des Formulars angezeigt.
Führe ich nun aber einen 2. Request aus,
scheint das erstellte Model überschrieben
und die Daten aus dem 2. Schritt werden dem
zuerst erstellten Model nicht hinzugefügt...
Was mache ich falsch, dass die alten Sessiondaten
immer wieder verloren gehen?
Ich instantiiere die Controllerklasse 'Controller' und erstelle
dort mein Datenhaltungsobjekt 'Model'.
Das Model speichert User generated content in Sessions.
Nach Ausführung des 1. Requests, werden mir
auch alle Daten des Formulars angezeigt.
Führe ich nun aber einen 2. Request aus,
scheint das erstellte Model überschrieben
und die Daten aus dem 2. Schritt werden dem
zuerst erstellten Model nicht hinzugefügt...
Was mache ich falsch, dass die alten Sessiondaten
immer wieder verloren gehen?
Code:
// Formulardatenhaltung class Model { // variable where all user data is stored var $session; /* Constructor */ function Model() { $this->session = $_SESSION; } /* Setter */ function setSession($array) { foreach($array as $key => $value) { $this->session[$key] = $value; } } /* Getter */ function getSession() { return $this->session; } } // Steuerungsklasse class Controller { var $request; var $model; var $view; /* Constructor */ function Controller($request) { $this->model = new Model(); $this->request = $request; $this->view = new View($this->request, $this->model); } public function display(){ if (isset($this->request)) { $this->model->setSession($this->request); } return $this->view->getTemplate(); } }
Kommentar