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 |