[PHP / OOP] - Class & MySQl-Connection

  • hi,

    also da ich eigentlich weitestgehend auf OOP umsteigen will, damit ich meine scripts nicht mehr großartig anpassen muss, hab ich mal eine frage zum Internetstandard bzw. was ist sinnvoller ?

    Die MySQL-Klasse jedes mal zu extenden wenn sie benötigt wird

    oder

    die mysql-klasse nurseparat aufrufen und dann die query-anfrage sozusagen an eine funktion der neuen klasse übergeben

    für mich klingt das erstere sinnvoller, aber ich lasse mich gerne eines besseren belehren !
    mfg

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • ok, für alle die dies interessiert:

    hab nochmal slebst nach gedaht und gemerkt, dass die klassen ja keine mysql-verbindung sind, sondern eine haben
    damit nichts mit extenden, sondern voraussetzen oder das query-ergebnis an die klasse übergeben

    mfg

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Moin
    Endlich mal jemand der auch an OOP sitzt =)
    Su nun zu deiner Frage.
    Ich würde eine MySQL Klasse machen, die 4 Funktionen besitzt.
    1. Verbinden zum Server und Auswählen der datenbank.
    2. Verbindung zum Server schließen.
    3. Daten "schreiben" (Insert, update, ...)
    4. Daten Lesen

    Praktisch gesehen lässt du dann sämmtliche MySQL Funktionen von einer Klasse behandeln.
    Ich hoffe das hat jetzt geholfen =)

  • ja, das hab ich alles schon ;)

    ich konkretisiere meine frage mal an einem beispiel

    class: Poll

    so, nun will ich zB die antworten ausgeben, dann muss ich ja die aus der datenbank holen

    oder ich will nen vote zählen, dass muss ich dann ja au in der datenbank vermerken
    zB:

    Code
    $myvote = new Poll();
    $anworten = $myvote->getAnswers();
    echo $antworten (und so weiter)
    
    
    if(isset($_POST['submit'])) {
       $myvote->saveVote($_POST['check']);
    }

    wie sollte dann die methode saveVote aussehen ?

    Code
    saveVote($kreuz) {
       /* hier die mysql anweisung zum einfügen) */
       // INSERT INTO table(nr, u_id) VALUES(3, 153)
       //nr = welche antwort
       //u_id = user id
    }

    hier hänge ich
    man kann ja mit Klasse::method() auf ne methode einer klasse zugreifen, ohne eine instanz von dieser zu haben, aber bei mysql brauche ich ja eine ?!
    natürlich könnt eich den query auch einfach so da rein schreiben, aber ich denke mal das ist ja nich der sinn von oop ?! ;)

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!