diese $ verwendet, wenn Sie eine neue Instanz eines Objekts erstellt haben.
Zum Beispiel vorstellen, dies:
class Test {
private $_hello = "hello";
public function getHello() {
echo $this->_hello; // note that I removed the $ from _hello !
}
public function setHello ($hello) {
$this->_hello = $hello;
}
}
Um getHello auf die Methode zuzugreifen, ich habe eine neue Instanz der Klasse-Test erstellen, wie folgt aus:
$obj = new Test();
// Then, I can access to the getHello method :
echo $obj->getHello();
// will output "hello"
$obj->setHello("lala");
echo $obj->getHello();
// will output "lala"
In der Tat , $ Dies wird innerhalb der Klasse verwendet, wenn sie aktiviert wird. Es wird als Scope bezeichnet.
In Ihrer Klasse verwenden Sie diese $ (für den Zugriff auf * $ _ hallo * zum Beispiel), aber außerhalb der Klasse, diese $ NICHT auf die Elemente in Ihrer Klasse beziehen (wie * _ $ Hallo *), ist es $ obj das tut.
Nun, der Hauptunterschied zwischen $ obj und $ this seit obj Zugang $ ist Ihre Klasse von der außerhalb, passiert einige Einschränkungen: Wenn Sie etwas privaten oder geschützt in definieren Ihre Klasse, wie mein Variable * $ _ * Hallo, $ objkANN NICHT Zugriff es (es ist privat!), aber $ thiskann, becase $ this le Ave innerhalb der Klasse.
http://php.net/OOP -> Die Grundlagen. –
Beachten Sie insbesondere Beispiel # 2 hier: http://php.net/manual/en/language.oop5.basic.php – RabidFire
'$ this' ist kein Schlüsselwort in PHP (aber eine * Pseudovariable *), damit deine Frage nicht beantwortet werden kann. – hakre