faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:microblogging:step02:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:microblogging:step02:start [21.06.2021 16:57] sbelfaecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:microblogging:step02:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== Neue Klassen mit Datenbankzugriff ====== 
- 
-Wir wollen unserem Projekt nun weitere Klassen hinzufügen, von denen einige Datenbankzugriff benötigen. Die jeweiligen Operationen auf der Datenbank sollen aber in den jeweiligen Klassen gekapselt sein.  
- 
-Um dieses Ziel zu erreichen, //reduzieren// wir zunächst die Funktionalität unserer mysqldb-Klasse darauf, eine ((und nur eine)) Datenbankverbindung herzustellen und ein entsprechendes PDO-Objekt, das diese Verbindung repräsentiert, zurückzuliefern, welches dann innerhalb der anderen Klassen für den Datenbankzugriff verwendet werden kann. 
- 
-===== Die neue DB Klasse ===== 
- 
-Passe die Datenbank Klasse in der Datei ''mysqldb.class.php'' folgendermaßen an: 
- 
-<code php> 
-class mysqldb { 
- 
-    static public $connection = null; 
-    private $dbobject; 
- 
-    /** 
-     * Constructor - connect to db, set handle attribute 
-     * 
-     * @param string        $dbusername   DB username 
-     * @param string        $dbpassword   DB password 
-     * @param string        $dbname       Database to connect to 
-     * @param string        $host         Database host to connect to (optional) 
-     * 
-     */ 
- 
-    private function __construct($dbusername, $dbpassword, $dbname, $host ) { 
- 
-        try { 
-            self::$connection = new PDO("mysql:host=$host;dbname=$dbname", "$dbusername", "$dbpassword"); 
-            self::$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
- 
-        } catch ( PDOException $e ) { 
-            echo 'Verbindung zur Datenbank fehlgeschlagen: ' . $e->getMessage(); 
-            exit(); 
-        } 
- 
-    } 
- 
-    public static function getConnection($dbusername, $dbpassword, $dbname, $host ) { 
-        // Wenn das Objekt noch keine PDO-Instanz hat 
-        // wird eine erzeugt 
-        if(self::$connection === null) { 
-            $dbobject = new mysqldb($dbusername, $dbpassword, $dbname, $host); 
-        } 
- 
-     //Und das PDO-Objekt zurückgeben 
-     return self::$connection;  
-    } 
- 
-} 
-</code> 
- 
----- 
-[[{}..:step01:start|<- Schritt 1]][[{|float-right}..:step03:start|Schritt 3 ->]] 
  
  • faecher/informatik/oberstufe/datenbanken/projekt/dokuwiki_plugin/microblogging/step02/start.1624287450.txt.gz
  • Zuletzt geändert: 21.06.2021 16:57
  • von sbel