Steini1980
New member
Hallo,
ich bin gerade dabei einen Warenkorb aus einem bestehenden Shop zu verbessern, alle Artikel im Warenkorb sollen als Objekt "artikel" gespeichert werden. Wenn ein Artikel bereits vorhanden ist, soll der Bestand angepasst werden können. Dafür wollte ich die Methode addMenge() verwenden, doch leider funktioniert das irgendwie nicht.
Ich beschäftige mich erst seit kurzem so richtig intensiv mit OOP, aber wenn ich das richtig nachvollziehe speichert er das Artikel-Objekt doch als Array in meiner Session-Variable ab. Hab ich dann wenn ich später auf das Objekt in der Session zugreife überhaupt noch Zugriff auf meine Methoden von Artikel oder kann ich hier nur noch die Eigenschaften direkt ändern?
ich bin gerade dabei einen Warenkorb aus einem bestehenden Shop zu verbessern, alle Artikel im Warenkorb sollen als Objekt "artikel" gespeichert werden. Wenn ein Artikel bereits vorhanden ist, soll der Bestand angepasst werden können. Dafür wollte ich die Methode addMenge() verwenden, doch leider funktioniert das irgendwie nicht.
Ich beschäftige mich erst seit kurzem so richtig intensiv mit OOP, aber wenn ich das richtig nachvollziehe speichert er das Artikel-Objekt doch als Array in meiner Session-Variable ab. Hab ich dann wenn ich später auf das Objekt in der Session zugreife überhaupt noch Zugriff auf meine Methoden von Artikel oder kann ich hier nur noch die Eigenschaften direkt ändern?
PHP:
class warenkorb {
var $artikel = array();
public function nimmArtikeldazu($artikel_id, $anz = 0) {
if (isset($this->artikel[$artikel_id])) {
$this->artikel[$artikel_id]->addMenge($anz);
} else {
$this->artikel[$artikel_id] = new artikel($artikel_id, $anz);
}
}
}
PHP:
class artikel {
var $menge;
var $artikel_id;
var $varianten_id;
var $artikel_nr;
var $artikel_name;
var $artikel_preis;
// Konstruktor:
public function __construct($id, $menge = 1) {
if(!isset($id)) { return false; }
$this->menge = $menge;
$this->artikel_id = $id;
}
/* ... Setter/Getter-Methoden usw. */
// Fügt die Menge zum Objekt hinzu:
public function addMenge($menge) {
if(!is_int($menge)) { return false; }
$this->menge += $menge;
}
}