Heim > Backend-Entwicklung > PHP-Problem > Was sind die Unterschiede zwischen static, self und $this in PHP?

Was sind die Unterschiede zwischen static, self und $this in PHP?

coldplay.xixi
Freigeben: 2023-03-01 20:00:02
Original
3990 Leute haben es durchsucht

Die Unterschiede zwischen static, self und $this in PHP sind: 1. [$this] stellt einen Verweis auf das Objekt dar, geschrieben in einer nicht statischen Methode in der Klasse; 2. Self unterscheidet sich von Dies zeigt auf die Klasse selbst und nicht auf ein instanziiertes Objekt. 3. „Static“ wird im Allgemeinen verwendet, um auf statische Variablen und statische Methoden in einer Klasse zuzugreifen.

Was sind die Unterschiede zwischen static, self und $this in PHP?

Die Unterschiede zwischen static, self und $this in PHP sind:

1 Die Objektreferenz $this wird in einer nicht statischen Methode in einer Klasse geschrieben. Wenn die Klasse instanziiert wird, stellt jeder, der die Methode aufruft (normalerweise ein Objektaufruf), eine Referenz auf das Objekt dar. $this

<?php
class Person {
    public $name;
    public function getName() {
        echo $this->name;
    }
}
$p = new Person();
$p2 = new Person();
$p->name = "小红";
$p2->name = "小明";
$p->getName();  // 小红
$p2->getName();  // 小明
Nach dem Login kopieren

2. Es verweist auf die Klasse selbst und nicht auf ein instanziiertes Objekt. Es wird im Allgemeinen verwendet, um auf statische Variablen zuzugreifen, und statische Methoden in einer Klasse sind auch in der Klasse geschriebene Methoden. In welches Klassenselbst geschrieben wird, gibt die Referenz der Klasse an

self

<?php
class Person {
    public static $name = "小红";
    public static function getName() {
        echo self::$name;
    }
}
$p = new Person();
$p2 = new Person();
$p::getName();  // 小红
$p2::getName();  // 小红
$p::$name = "小明";
$p::getName();  // 小明
$p2::getName();  // 小明
Nach dem Login kopieren

3,

Allgemein verwendet Um auf statische Variablen und statische Methoden in einer Klasse zuzugreifen, handelt es sich auch um in der Klasse geschriebene Methoden. Es ist auch die Klasse, die die Methode statisch aufruft (gebunden an diese Klasse)

Verwandte Lernempfehlungen:

PHP-Programmierung vom Anfänger bis zum Expertenstatic

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen static, self und $this in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage