Datenbank-Klasse und Verbindungen in anderen Klassen übernehmen!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datenbank-Klasse und Verbindungen in anderen Klassen übernehmen!

    Hallo und frohe Weihnachten,

    ich wollte mal fragen, wie ihr so das folgende Szenario in euren Projekten behandelt.

    Es geht um das Thema Datenbank-Klasse und die daraus resultierende Connection. Wie gebt ihr diese an andere Klassen weiter, in denen ihr eine Datenbank-Verbindung benötigt?

    Ich habe es bisher immer so gemacht:
    1. Zu Beginn des Skriptes erstelle ich eine Datenbank-Verbindung
    PHP-Code:
    $objDB = new DB('localhost','user','pass','db'); 
    2. Eine Klasse die eine DB-Verbindung brauch
    PHP-Code:
    $objUser = new User($objDB); 
    D.h. ich übergebe die Connection an den Konstrukur der Klasse (in dem Fall der User-Klasse).

    Oft sagen welche man sollte Datenbank-Klassen als Single-Ton behandeln. Ich finde es aber übersichtlicher die DB-Instanz an die Klasse weiter zu geben, denn so weiß man immer was die Klasse alles benötigt!

    Wie verfahrt ihr bei dem Szenario?

    Lg

  • #2
    Singleton halte ich auch für böse.

    Vermutlich suchst du das "Dependency Injection Design Pattern"
    Wir werden alle sterben

    Kommentar


    • #3
      Zitat von TriphunEM Beitrag anzeigen
      Oft sagen welche man sollte Datenbank-Klassen als Single-Ton behandeln.
      Wer hat dir denn bitte diesen Blödsinn erzählt?

      Ich bin zwar nicht der Meinung das SingleTon generell böse ist, aber es gibt nur sehr wenig Fälle wo es wirklich Sinn macht einzusetzen.
      Generell sollte man daher auf SingleTon verzichten.

      Ansonsten hat Combie dir schon gesagt was wichtig ist, Dependency Injection.
      Allerdings würde ich das in dem Fall nicht wie du als Constructor Injection machen sondern als Setter Injection.

      Einfache Grund dafür, es kann auch sein du brauchst ein User Objekt mal ohne Datenbankdaten, dann musst du aber, bei deinem Weg zwingend eine Datanbankinstanz übergeben.

      Gruß Litter
      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
      http://www.lit-web.de

      Kommentar

      Lädt...
      X