Tom: Komplettes Projekt in OOP v2

Beitrag lesen

Hello,

# Datenbankwerte setzen  
public function db\_set\_vars($host,$name,$pw,$dbname){  
  $db\_host=$host;  
  $db\_user=$user;  
  $db\_pw=$pw;  
  $db\_name=$dbname;  

... und das musst du auch. So wie du es mit der self::$instance gemacht hast, musst du es auch mit den anderen Klassenvariablen machen.
Allerdings darf das Setzen der Zugangsdaten - so du es doch von außen tun willst - nicht als Methode der Instanz implementiert sein. Denn in dem Fall müsste der erste Verwender die Zugangsdaten setzen und die anderen brauchen und dürfen das nicht mehr. Woher weiß denn aber der erste, dass er der erste ist?

Was meinst Du, wofür es die Methode getInstance() gibt und wofür ein Konstruktor vorhanden ist?
Zweitere ist mMn der richtige Platz, um Anfangswerte zu setzen!

Aufgabe der DB-Klasse ist nicht, auf den Bildschirm zu malen. Wenn sie sich mitzuteilen gedenkt, dann über Rückgabewerte oder Fehlermeldungen oder Exceptions.

$user="name";
$pw="pw";
$sql="INSERT INTO users(user,pw) VALUES('".$user."','".$pw."')";

ACK

Wenn du die Query selbst zusammenbaust, musst du dich auch selbst um die kontextgerechte Behandlung kümmern. Mit diesen beiden Werten ist das zwar nicht nötig, aber wenn es nur ein Test sein sollte, hättest du die Werte auch direkt in die Query einbauen können.

Die Werte sollten der Query typgerecht übergeben werden. Dazu muss man aber die Spaltentypen, ihre Ranges und Defaults vorher beschaffen. Alternativ sind wir dann bei prepared Statements, weil eine textuelle Schnittstelle (SQL) bei Verwendung einer komplexen API/Datenbankklasse kaum noch Existenzberechtigung hat.

Liebe Grüße aus dem Cyberspace

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
0 77

Komplettes Projekt in OOP v2

Chris
  • php
  1. 0
    Patrick Figel
  2. 0
    Sympathisant
    1. 0
      Chris
      1. 0
        Sympathisant
        1. 0
          Sven Rautenberg
          1. 0
            Sympathisant
      2. 1
        Sven Rautenberg
        1. 0
          dedlfix
      3. 0
        CHris
  3. 0
    Tom
    1. 0
      Chris
      1. 0
        Tom
      2. 0
        Sympathisant
        1. 0
          Tom
          1. 0
            Sven Rautenberg
            1. 0
              Tom
              1. 0
                Sympathisant
                1. 0
                  Tom
                  1. 0
                    Tom
                    1. 0
                      Sympathisant
                      1. 0
                        Tom
                        1. 0
                          dedlfix
                    2. 0
                      dedlfix
                  2. 0
                    Sympathisant
                    1. 0
                      Tom
                      1. 0
                        Sympathisant
                2. 0
                  Sven Rautenberg
                  1. 0
                    Tom
                    1. 0
                      dedlfix
                3. 0
                  dedlfix
                  1. 0
                    Sympathisant
                    1. 0
                      dedlfix
                      1. 0
                        Sympathisant
              2. 0
                dedlfix
                1. 0
                  Tom
          2. 0
            Sympathisant
        2. 0
          dedlfix
    2. 0
      dedlfix
      1. 0
        Tom
        1. 0
          dedlfix
          1. 0
            Tom
            1. 0
              dedlfix
              1. 0
                Tom
  4. 0

    PDF-Doku für OOP mit PHP5

    Tom
    1. 0
      dedlfix
      1. 0
        Tom
        1. 0
          dedlfix
  5. 0

    Und noch ein eBook für PHP OOP

    Tom
  6. 4
    dedlfix
    1. 0
      Tom
      1. 0
        dedlfix
  7. 0
    Chris
    1. 0
      dedlfix
      1. 0
        Chris
        1. 0
          Tom
          1. 0
            Chris
            1. 0
              Sympathisant
              1. 0
                Tom
        2. 0
          dedlfix
      2. 0
        Chris
        1. 0
          dedlfix
          1. 0
            Chris
            1. 0
              dedlfix
              1. 0
                Chris
                1. 1
                  dedlfix
                  1. 0
                    Chris
                    1. 0
                      dedlfix
                      1. 0
                        Chris
                        1. 0
                          dedlfix
                          1. 0
                            Chris
                            1. 0
                              Tom
                              1. 0
                                dedlfix
                            2. 0
                              dedlfix
                              1. 0
                                Chris
                                1. 0
                                  dedlfix
                                  1. 0
                                    Chris