Einsendeaufgabe zu Studienheft PHP 2
- PHP – Fortgeschrittene Funktionen und Bibliotheken -
Sie werden mit den folgenden Aufgaben den Webshop mit Warenkorb-Funktionalität weiter verbessern. Ihre Lösungen sollten Sie – wie beim ersten PHP-Heft – auf den Webspace des Online-Lernsystems hochladen. Ergänzend zu den PHP-Dateien, sollten Sie eine Beschreibung Ihrer Lösung und die Angabe Ihrer Webspace-Adresse einschicken.
Zunächst eine kleine Zusammenstellung der bisherigen Dateien der Shop-Applikation:
Artikel.inc – Die Artikel-Klasse
artikeldaten.xml – Nummer, Name und Preis der angebotenen Artikel
artikelliste.php – Liest die Artikeldaten in ein globales Array namens $art
artikel.php – Stellt die Bestellseite dar
Warenkorb.inc – Die Warenkorb-Klasse
warenkorb.php – Stellt den Inhalt des Warenkorbs dar
Schaffen Sie eine Administrations-Seite, die passwortgeschützt ist.
Diese Seite soll zunächst nur die Funktion anbieten, eine Artikeldatei im XML-Format hochladen zu können, die dann die alte Artikeldatei ersetzt.
HIER der Link zum Admin-Bereich.
Schreiben Sie ein neues Skript „bestellung.php“, das über einen Link auf der Warenkorbseite aufgerufen werden soll.
Das Skript soll die Bestelldaten in einer Datei bestellnung.xml“ im folgenden XML-Format abspeichern:
<bestellung>
<artikel nummer=“1001“ anzahl=“3“ />
<artikel nummer=“3003“ anzahl=“1“ />
</bestellung>
Außerdem soll der Warenkorb nach Bestellung geleert werden
HIER der Link zum Bestell-Bereich.
Verbessern Sie die Datei „artikelliste.php, die bisher die XML-Datei „artikeldaten.xml“ parst. Das Parsen soll über eine Klasse „Artikelparser“ gehandhabt werden.
Verwenden Sie die folgende Vorlage der Klasse als Hilfestellung:
<?php include_once („Artikel.inc“); class Artikelparser { /* Hier muss die XML-Datei eingelesen werden und die Eigenschaften der Klasse definiert werden */ function Artikelparser($datei) { // Initialisieren des Artikelarrays $this->art = Array (); /* Hier muss die XML-Datei eingelesen werden und die Parservariable kreiert werden */ // Die nächste Funktion dient dazu, dass der // Parser nicht globale Funktionen // aufruft, sondern Methoden dieser Klasse. xml_set_object ($parser, $this); /* Hier müssen die Handler definiert werden und der Parservorgang gestartet werden. */ } /* hier müssen die Handler Funktionen definiert werden function get ArtikelArray () { return $this->art; } } ?>
Denken Sie an das Erzeugen eines neuen Objekts vom Typ „Artikelparser“ in der Datei „artikel.php“. Anpassen müssen Sie dann noch die foreach-Schleife, sodass Sie auf Attribute der Klasse zugreifen.