Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:microblogging:step03:start [21.06.2021 20:00] – [Neuer Eintrag] sbel | faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:microblogging:step03:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Blogeinträge ====== | ||
- | Für den Zugriff auf die Tabelle '' | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A1) === | ||
- | |||
- | Das Basisgerüst der '' | ||
- | |||
- | Erstelle eine Datei mit diesem Basisgerüst, | ||
- | |||
- | <code php> | ||
- | // Zugriff auf die Blogeinträge | ||
- | $blogentry = new blogentry($dbusername, | ||
- | </ | ||
- | |||
- | Teste, ob dein Code fehlerfrei funktioniert. | ||
- | |||
- | ++++ Hilfe | Die grundlegende '' | ||
- | <code php> | ||
- | <?php | ||
- | |||
- | class blogentry { | ||
- | protected $db; // Das DB-Handle | ||
- | | ||
- | // | ||
- | public function __construct ($dbusername, | ||
- | { | ||
- | // PDO Connection erzeugen/ | ||
- | // Objektattribut " | ||
- | | ||
- | |||
- | } | ||
- | |||
- | |||
- | } | ||
- | |||
- | ?> | ||
- | </ | ||
- | ++++ | ||
- | ---- | ||
- | |||
- | ==== Methoden der Blogentry-Klasse ==== | ||
- | |||
- | Jetzt müssen wie die '' | ||
- | <code php> | ||
- | <?php | ||
- | |||
- | interface blogentryInterface | ||
- | { | ||
- | // Alle Blogintraege anzeigen | ||
- | public function show_entries($userid=-1); | ||
- | |||
- | // Neuen Blogeintrag hinzufügen | ||
- | public function insert_entry($userid); | ||
- | |||
- | // Fehlaufrufe abfangen | ||
- | public function __call ($name, $param); | ||
- | } | ||
- | |||
- | ?> | ||
- | </ | ||
- | |||
- | |||
- | Die Definition der blogentry-Klasse muss nun entsprechend angepasst werden: | ||
- | |||
- | <code php> | ||
- | class blogentry implements blogentryInterface { | ||
- | ... | ||
- | } | ||
- | </ | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A2) === | ||
- | |||
- | Erstelle die Datei '' | ||
- | |||
- | ==== Neuer Eintrag ==== | ||
- | |||
- | Um einen neuen Eintrag hinzufügen zu können, benötigen wir ein Formular, das wir z.B. mit den bereits bekannten DokuWiki-Mitteln erzeugen können: | ||
- | |||
- | <code php syntax.php> | ||
- | public function printform() { | ||
- | |||
- | // Erzeuge ein neues " | ||
- | $form = new dokuwiki\Form\Form(); | ||
- | |||
- | $form-> | ||
- | $form-> | ||
- | $form-> | ||
- | $form-> | ||
- | |||
- | // Generate the HTML-Representation of the form | ||
- | return $form-> | ||
- | } | ||
- | </ | ||
- | |||
- | Wenn das Formular Daten enthält, kann muss man den Blog Eintrag hinzufügen: | ||
- | |||
- | <code php syntax.php> | ||
- | // Neuer Eintrag! | ||
- | if (isset ($_POST[" | ||
- | $blogentry-> | ||
- | msg(" | ||
- | } else { | ||
- | $renderer-> | ||
- | } | ||
- | </ | ||
- | |||
- | In der Datei '' | ||
- | |||
- | <code php blogentry.class.php > | ||
- | public function insert_entry ($userid, $content) { | ||
- | print " | ||
- | |||
- | $statement = $this-> | ||
- | $statement-> | ||
- | |||
- | } | ||
- | </ | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A3) === | ||
- | |||
- | Füge die Codefragmente in dein Projekt ein, so dass du Blogeinträge anlegen kannst. Teste die Funktionalität. | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A4) === | ||
- | |||
- | Ergänze die Dateien '' | ||
- | |||
- | Erweitere das Plugin um Optionen, die die Ausgabe steuern: | ||
- | |||
- | | ||
- | |||
- | soll die Liste für den Benutzer ausgeben, oben das Formular für einen neuen Eintrag. | ||
- | |||
- | | ||
- | |||
- | soll alle Beiträge ausgeben, ohne Formular und sichtbar auch für nicht angemeldete Benutzer. | ||
- | |||
- | |||
- | Füge die Codefragmente in dein Projekt ein, so dass du Blogeinträge anlegen kannst. | ||
- | |||
- | ---- | ||
- | [[{}..: |