henman: Datenbank Verbindung über Klassen

Beitrag lesen

Servus MB,

  • 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( ... );
  }
}

Ich ziehe letztere Variante vor. Du kannst bei ihr selbst gestalten, wie die Klasse aussehen soll, was für Methoden zur Verfügung stehen, was für Parameter sie haben etc. Außerdem: solltest du mal eine Alternative zu PDO implementieren wollen, wirst du mit dem ersten Vorschlag keinen Spaß haben. Selbst ein Update von PDO könnte Probleme machen.

  • Warum solte man keinen konstruktor new verwenden sondern nur extends und parent::irgendwas.

Die Frage ist merkwürdig.

  • Wenn ich ein Objekt von einer Klasse will, benutze ich new Klasse().
  • Wenn eine Klasse von einer anderen erben soll, benutze ich Klasse1 extends Klasse2.
  • Wenn ich in einer Klasse die statische Methode der Klasse benutzen will, von der geerbt wird, benutze ich parent::foo() (Syntaxfehler vorbehalten)

Da gibts kein sondern.

  • Warum ist es nicht sinnvoll FINAL vor die konfiguration einer datenbankverbindung zusetzen wie

Wenn du denkst, dass eine Methode so cool ist, dass keiner sie per Vererbung überschreiben darf, dann benutz final. Sinnvoll? Ansichtssache. Probiers aus.

  • warum meine ich mich erinnern zu können sollte man be einer Verbindung nicht Konstanten verwenden?

Soll sich die Datenbank-Verbindung in der Anwendung ändern? Nö? Warum dann keine Konstante? Wie sagte noch Bubba in Forrest Gump:

Konstanten sind die Früchte des Meeres. Du kannst sie am Spieß braten, backen, braten, auf den Grill tun, sautieren... Es gibt Konstanten-Kabob, Konstanten-Creole, Konstanten-Gumbo. In der Pfanne gebraten, frittiert. Es gibt Konstanten mit Bananen, Bohnenkonstanten, Kokosnusskonstanten, Pfefferkonstanten, Konstantensuppe, Konstanteneintopf, Konstantensalat, Konstanten mit Kartoffeln, Konstantenburger, Konstantensandwich... Das wars, glaube ich.

;)

Ernsthaft: Konstanten gibt es nicht umsonst. Benutze sie, sammle Erfahrungen. Entwickle ein paar Scripte und setze sie ein. Denk drüber nach, ob der Einsatz so sinnvoll ist/war.

ciao

--
"Sir, we are surrounded" - "Excellent, we can attack in any direction!"