MB: Datenbank Verbindung über Klassen

Beitrag lesen

nabend Community,

ich bin dabei über PDO eine Verbindungen zu Datenbank aufzubauen. Privat und rein zur übungszwecken. Ich habe mich immer grob das datenmodell gehalten.

Konfigurations Klasse -> Verbindungs Klasse -> Session ->User

//Bemerkung: die Pfeile entsprechen einer Vererbung
  • Was ist besser? Und wenn beide ihre vorzüge haben welche genau sind das?
class database extends PDO
{
  ...
  public function __construct() {
    parent::__construct( ... )
  }
}

oder der art...

class database
{
  ...
  public function __construct() {
    $ths->db = new PDO( ... );
  }
}
  • Warum solte man keinen konstruktor new verwenden sondern nur extends und parent::irgendwas.
  • Warum ist es nicht sinnvoll FINAL vor die konfiguration einer datenbankverbindung zusetzen wie
class cfg
{
  private
    $DB_DRV     = "mysql";
    //...
  public final function getDSN() {
    //return ...
  }
  public final function getUSER() {
    //return ...
  }
  public final function getPW() {
    //return ...
  }
}
  • warum meine ich mich erinnern zu können sollte man be einer Verbindung nicht Konstanten verwenden?

Ich hoffe meine Frage war verständlich, strukturiert und nicht zu viel auf einmal.

Grüße MB