Moin!
kurz vor dem erholsamen Schlaf...
ich jetzt kurz dahinter ;-)
Eine Instanz ist ja nichts anderes als ein Wert... Diese kann ganz wie gehabt an ein Array gepushed werden... Da wird wohl auch mit PHP funktionieren. Also: Für jeden Artikel erstellst du eine entsprechende Artikel-Klassen-Instanz (z. B. $article = neu Artikel). Den Wert von $article fügst du ganz normal (wie eine Zahl, oder eine Variable) an das Array an und gibst dieses Zurück. Im Hauptprogramm kannst du das Array dann auslesen und z. B. über jedes Arrayelement (was ja einer Instanz der Artikel-Klasse entspricht) iterieren...
Ich hatte mal folgendes versucht(in der Warenkorb-Klasse):
// einfach den Warenkorb-Array aus der Session ausgeben
function artikel(){
return $_SESSION["warenkorb"];
}
$artikels = $wb -> artikel;
echo "Artikel1: ".var_dump($artikels);
Da kommt aber nx an : NULL!
ist die Funktion artikel denn in der Klasse definiert (sorry, dumme Frage)? (im Beispiel ist ja kein class drumm herum, deshalb die Frage). Also, wenn die Funktion in der Klasse für $wb definiert ist, sollte das meines Erachtens schon funktionieren.
Tja, das kommt wohl durch die so späte Stunde, hätte statt
$artikels = $wb -> artikel;
$artikels = $wb -> artikel();
^^
schreiben müssen! Ist nunmal ne Funktion! Jetzt gehts, ich bekomme den Array des kompletten Warenkorbs, was ja aber nicht sinn der Sache war, aber halt zum testen.
Ein erste kleine Version meines Session-Klassen-Warenkorbs kannst Du Dir ja mal hier angucken: http://www.knet-systems.de/test/kl.php, Ist erst eine Klasse, baue das jetzt langsam aber sicher aus, er Quellcode steht drunter, vielleicht hast Du ja einen Kommentar dazu!
Kurze Statusfrage: Hier hast du ja keine Artikelklasse verwendet. Ist das nur ein Test, ob die Basis funktioniert? - Wenn du die Artikelklasse implementieren willst, musst ja für jedes Arrayelement von $_SESSION["warenkorb"] eine eigenständige Instanz der Artikel-Klasse erstellen und das Array aller erstellen Instanzen zurückgeben.
Genau so ist es, Testweise erst mal so. Aber meinst Du ich soll nur einen Array mit den Instanzen erstellen? Dann habe ich also die Instranzen der Artikelklasse als Array, aber ich muß ja noch dei anderen Saten einlesen, d.h. pro Instanz noch 3-4 andere Werte, wie Preis, Beschreibung... wo mache ich das denn dann? Wenn ich das so mache, müßte ich das ja dann für jede Instanz extra in der Artikel-Klasse machen, oder? Eigentlich auch egal, wer legt schon mehr als 3-4 Artikel in seinen Warenkorb... und wenns denn sauberer ist...
Viele Grüße
Andreas