Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für einen PHP-Initialisierungscode für statische Variablen

Beispiel für einen PHP-Initialisierungscode für statische Variablen

怪我咯
怪我咯Original
2017-07-16 11:25:511852Durchsuche

Was ist eine statischestatische Variable?

Statische Variable Der Typbezeichner ist statisch.

Statische Variablen gehören zum statischen Speicher, und ihr Speicherplatz ist der statische Datenbereich im Speicher (Speichereinheiten werden im statischen Speicherbereich zugewiesen. Die Daten in diesem Bereich belegen diese Speicherplätze während der gesamten Ausführung). Das Programm (wird während der gesamten Ausführung des Programms nicht freigegeben) kann auch davon ausgegangen werden, dass sich seine Speicheradresse bis zum Ende des gesamten Programms nicht ändert (im Gegenteil, automatische Variablen, d. h. dynamische lokale Variablen, gehören zur dynamischen Speicherkategorie und belegen dynamischen Speicherplatz. Funktion wird nach Abschluss des Anrufs freigegeben. Obwohl statische Variablen während der gesamten Ausführung des Programms immer vorhanden sind, können sie nicht außerhalb des Gültigkeitsbereichs verwendet werden.

Darüber hinaus sind Variablen, die zur statischen Speichermethode gehören, nicht unbedingt statische Variablen. Beispiel: Obwohl externe Variablen (in PHP als globale Variablen bezeichnet) statische Speichermethoden sind, müssen sie nicht unbedingt statische Variablen sein. Sie müssen durch statische Variablen definiert werden, bevor sie zu statischen externen Variablen oder statischen globalen Variablen werden können.

Alle globalen Variablen sind statische Variablen und lokale Variablen sind nur dann lokale statische Variablen, wenn sie mit dem Typmodifikator static definiert sind.

Statische Variablen können überall angewendet werden. Sobald die Anwendung erfolgreich ist, werden keine anderen ähnlichen Anwendungen mehr akzeptiert.

Statische Variablen bedeuten nicht, dass sie ihren Wert nicht ändern können. Eine Größe, die ihren Wert nicht ändern kann, wird als Konstante bezeichnet. Der darin enthaltene Wert ist veränderbar und bleibt aktuell. Es wird als statisch bezeichnet, da es sich nicht ändert, wenn die Funktion aufgerufen wird und beendet wird . Das heißt, wenn wir einer statischen Variablen beim letzten Aufruf der Funktion einen bestimmten Wert zuweisen, bleibt der Wert beim nächsten Aufruf der Funktion unverändert. Die Mitgliedsvariable

von php kann gleichzeitig mit der Deklaration initialisiert werden, jedoch nur mit einem Skalar.

Zum Beispiel:

class A { 
public $f1 = 'xxxx'; 
static public $f2 = 100; 
}

Wenn Sie einem Objekt eine Variable zuweisen möchten, kann diese nur in initialisiert werden der Konstruktor, zum Beispiel:

class A { 
private $child; 
public function construct() { 
$this->child = new B(); 
} 
}

Aber es gibt nichts Vergleichbares zum statischen-Konstruktor/statischen Block in Java in PHP, daher gibt es keinen geeigneten Zeitpunkt, ihn zu initialisieren .

Es gibt Möglichkeiten, das Problem für geteilte Mitglieder zu lösen, zum Beispiel:

class A { 
static public $child; 
} 
A::$child = new B();

Es scheint keine saubere Methode für private Mitglieder zu geben, die einzige Möglichkeit besteht darin, dies zu tun :

class A { 
static private $child; 
static public initialize() { 
self::$child = new B(); 
} 
} 
A::initialize();

Das obige ist der detaillierte Inhalt vonBeispiel für einen PHP-Initialisierungscode für statische Variablen. 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