statisch dient zur Definition eines statischenObjekts oder einer statischen Variablen in Bezug auf die statische Definition Wir werden wissen, welche Eigenschaften eine Variable oder Klassenmethode hat, nachdem wir die entsprechenden Beispiele in diesem Artikel gelesen haben.
1. Objekt erstellen$object = new Class(), und dann mit „->“ aufrufen: $object->attribute /function , sofern auf die Variable/Methode zugegriffen werden kann.
2. Klassenmethoden/-variablen direkt aufrufen: class::attribute/function, unabhängig davon, ob sie statisch oder nicht statisch sind. Es gibt jedoch Voraussetzungen:
A. Wenn es sich um eine Variable handelt, muss auf die Variable zugegriffen werden können.
B. Wenn es sich um eine Methode handelt, muss sie zusätzlich zur Zugänglichkeit Folgendes erfüllen:
b1) Wenn es sich um eine statische Methode handelt, gibt es keine besonderen Bedingungen; Da es sich um eine nicht statische Methode handelt, muss sie geändert werden, wenn sie nicht in der Methode $ verwendet wird. Dies bedeutet, dass nicht statische Variablen/Methoden nicht aufgerufen werden. Natürlich gibt es kein Problem beim Aufruf statischer Variablen/Methoden.
1 Wenn Sie $object->… verwenden, müssen Sie constructor
Objekte erstellen 2. Verwenden Sie class::..., um statische Methoden/Variablen aufzurufen, und es ist nicht erforderlich, den Konstruktor auszuführen, um Objekte zu erstellen. 3. .. um nicht statische Methoden/Variablen aufzurufen, und es besteht keine Notwendigkeit, sie auszuführen. Konstruktoren erstellen Objekte.
Dann kommt das Seltsame ans Licht: Da 2 und 3 gleich sind, welchen Sinn hat die Existenz statischer Methoden/Variablen?
Das Deklarieren eines Klassenmitglieds oder einer Methode als statisch ermöglicht den direkten Zugriff ohne Instanziierung der Klasse. Auf statische Mitglieder (außer statische Methoden) kann nicht über ein Objekt zugegriffen werden. Statische Mitglieder gehören zur Klasse und keiner Objektinstanz, Objektinstanzen der Klasse können jedoch gemeinsam genutzt werden.
class Child{ public $name; //这里定义并初始化一个静态变量 $nums public static $nums=0; function construct($name){ $this->name=$name; } public function join_game(){ //self::$nums 使用静态变量 self::$nums+=1; echo $this->name."加入堆雪人游戏"; } } //创建三个小孩 $child1=new Child("李逵"); $child1->join_game(); $child2=new Child("张飞"); $child2->join_game(); $child3=new Child("唐僧"); $child3->join_game(); //看看有多少人玩游戏 echo "<br/> 有这".Child::$nums;
Das obige ist der detaillierte Inhalt vonGrundlegende Verwendung statischer Variablen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!