faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:dbklasse:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:dbklasse:start [09.06.2021 17:42] – [Plugin-Konfiguration] sbelfaecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:dbklasse:start [21.06.2021 15:34] (aktuell) – [Datenbank-Klasse] sbel
Zeile 37: Zeile 37:
      * @return object       DB-Handle       * @return object       DB-Handle 
      */      */
-    function mysqldb($dbusername, $dbpassword, $dbname, $host="localhost" ) {+    function __construct($dbusername, $dbpassword, $dbname, $host="localhost" ) {
  
     try {     try {
Zeile 48: Zeile 48:
     }     }
  
-    return $pdo;+    $this->connection=$pdo;
  
     }     }
Zeile 84: Zeile 84:
 </code> </code>
  
-  * Ergänze innerhalb der ''render''-Methode Code, der eine Datenbanlk Verbindung erzeugt. +  * Ergänze innerhalb der ''render''-Methode Code, der eine Datenbank Verbindung erzeugt. 
   * Mache dir klar, welche Funktion das dabei erzeugte Objekt ''$dbhandle'' im weiteren Verlauf des Programms hat.   * Mache dir klar, welche Funktion das dabei erzeugte Objekt ''$dbhandle'' im weiteren Verlauf des Programms hat.
   * Teste, was passiert, wenn du eine falsches Benutzer/Passwort-Kombination, eine nicht existente Datenbank oder einen anderen Host als ''localhost'' angibst.   * Teste, was passiert, wenn du eine falsches Benutzer/Passwort-Kombination, eine nicht existente Datenbank oder einen anderen Host als ''localhost'' angibst.
  
 <code> <code>
-$dbhandle = new mysqldb("DBUSER", "dbuserPASS", "DBNAME");+$mydb = new mysqldb("DBUSER", "dbuserPASS", "DBNAME");
 </code> </code>
  
Zeile 108: Zeile 108:
  
  
-Wenn wir jetzt also unser Plugin durch DokuWiki "konfiguroerbar machen wollen, müssen wir drei Fragen beantworten:+Wenn wir jetzt also unser Plugin durch DokuWiki "konfigurierbar machen wollen, müssen wir drei Fragen beantworten:
  
   - Welche Optionen brauchen wir und was müssen wir diesbezüglich in die Datei ''metadata.php'' schreiben?   - Welche Optionen brauchen wir und was müssen wir diesbezüglich in die Datei ''metadata.php'' schreiben?
Zeile 122: Zeile 122:
 </code> </code>
  
-<code php metadata.php>+<code php default.php>
 $conf['dbusername'] = ''; // leerer String $conf['dbusername'] = ''; // leerer String
 </code> </code>
Zeile 150: Zeile 150:
  
  
-Trage +Trage deinen DB-Benutzernamen dort ein und speichere die Einstellungen. 
 + 
 +Modifiziere dann deine ''syntax.php'' so, dass der Datenbankbenutzer, der dem Konstruktor der DB-Klasse übergeben wird, aus den Einstellungen ausgelesen wird. 
 + 
 +Teste, ob die Datenbankverbindung immer noch ordnungsgemäß zustande kommt. 
 + 
 +Ergänze die weiteren Optionen für Passwort, Datenbankname und Datenbankhost, konfiguriere das Plugin mit den Werten, die für deinen Benutzer passen und teste die Verbindung erneut. 
 + 
 +++++ Hilfestellung | 
 +In der ''syntax.php'' kann das in etwa so aussehen - die Optionsnamen können natürlich abweichen, je nachdem wie du diese benannt hast. 
 +<code php> 
 + // get settings 
 + $dbuser = $this->getConf('dbusername'); 
 + $dbpasswd = $this->getConf('dbpasswd');  
 + $dbname = $this->getConf('dbname'); 
 + $dbhost = $this->getConf('dbhost'); 
 + //make db connection 
 + $dbhandle = new mysqldb($dbuser, $dbpasswd, $dbname, $dbhost); 
 +</code> 
 +++++ 
 ==== Modellierung - fällt aus ==== ==== Modellierung - fällt aus ====
  
  • faecher/informatik/oberstufe/datenbanken/projekt/dokuwiki_plugin/dbklasse/start.1623260526.txt.gz
  • Zuletzt geändert: 09.06.2021 17:42
  • von sbel