dclp FAQ

FAQ der Newsgroups de.comp.lang.php.*

 
  • Increase font size
  • Default font size
  • Decrease font size

Klassen und Objekte

Was ist $this?

E-MailDruckenPDFLesezeichen anlegen: Du musst dich einloggen um ein Lesezeichen für diesen Beitrag anzulegen. Es wird deiner persönlichen Lesezeichenliste hinzugefügt.

Innerhalb einer Funktion wie connect() muss auf die Variable Link_ID zugegriffen werden, um das Resultat eines Connect abzuspeichern. In connect() können wir nicht wissen, wie die Funktion nun gerade heißt, also ob ihr Name nun gerade $db1->connect() oder $db2->connect() ist und ob die Link-ID nun in $db1->Link_ID oder in $db2->Link_ID abgespeichert werden muss.

Eigentlich ist das auch egal: Wir wollen ja nur auf unsere eigene Link-ID zugreifen. $this bezeichnet nun genau unser eigenes Objekt, also $db1 innerhalb von $db1 und $db2 innerhalb von $db2. Man schreibt daher code wie

class DB_MiniSQL {
  var $Link_ID = 0;
 
  function connect() {
    $this->Link_ID = mysql_connect(...);
    ...
  }
 
  ...
}

oder

class DB_MiniSQL {
  var $Link_ID = 0;
 
  function query($query) {
    // Wenn kein Datenbank-Link vorhanden ist, eines herstellen.
    if (!$this->Link_ID)
      $this->connect();
 
    ...
   }
  ...
}
Was ist $this?
http://www.php-faq.de/q-klassen-this.html
 

Login