10.3. Was ist $this?Antwort von Kristian KöhntoppInnerhalb 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();
...
}
...
}
|
||
| 10.3. Was ist $this? http://www.php-faq.de/q/q-klassen-this.html |
||
| Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team | ||