Heim  >  Artikel  >  Backend-Entwicklung  >  Grundlegende Verwendung statischer Variablen in PHP

Grundlegende Verwendung statischer Variablen in PHP

怪我咯
怪我咯Original
2017-07-16 11:24:162049Durchsuche

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.

Dann schauen wir uns den Unterschied zwischen der Verwendung von $object->… und der Verwendung von class::… an:

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?

Statisch statisch

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.

Der Code lautet wie folgt:

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!

Stellungnahme:
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