Statische Variablen in PHP

Subodh Poudel 30 Januar 2023
  1. Statische Variablen in PHP
  2. Verwenden Sie das Schlüsselwort self, um auf die statische Variable innerhalb der Klasse in PHP zuzugreifen
  3. Verwenden Sie den Klassennamen, um auf eine statische Variable außerhalb der Klasse in PHP zuzugreifen
  4. Greifen Sie auf die statische Variable innerhalb der statischen Methode zu
Statische Variablen in PHP

Dieser Artikel stellt die statischen PHP-Variablen vor, erläutert ihre Eigenschaften und zeigt verschiedene Möglichkeiten, auf die statischen Variablen in einem objektorientierten Kontext zuzugreifen.

Statische Variablen in PHP

Variablen in einem Programm werden verwendet, um Daten oder Werte zu speichern, die später in einem Programm verwendet werden können. Eine Variable kann Zeichen, numerische Werte, Zeichenketten, Speicheradressen usw. speichern.

In PHP deklarieren oder speichern wir Werte mit dem Dollarzeichen $, gefolgt vom Namen der Variablen.

Beispiel:

$name = "John Doe";
$marks = 90;

Ebenso ist eine statische Variable eine Variable, deren Geltungsbereich nicht außerhalb der Funktion endet. Der Gültigkeitsbereich einer nicht statischen Variablen wird zerstört, nachdem die Funktion beendet wurde.

Wir können eine statische Variable mit dem Schlüsselwort static deklarieren.

Beispiel:

static $name = "John Doe";
static $marks = 90;`

Sehen wir uns die Eigenschaft der statischen Variablen mit der folgenden Demonstration an.

Codebeispiel:

function total_marks () {
    static $marks = 90;
    $marks ++;
    print $marks;
    print "<br />";
}
total_marks();
total_marks();
total_marks();

Ausgabe:

91
92
93

Der obige Code zeigt, dass die statische Variable ihren Wert auch nach Beendigung der Funktion beibehält. Es gibt drei verschiedene Aufrufe der Funktion total_marks(), aber der Wert von $marks wird auch nach Verlassen der Funktion nicht zerstört.

Beim zweiten und dritten Funktionsaufruf wird der Wert nicht auf 90 zurückgesetzt. Es wird weiter erhöht, da der vorherige Wert beibehalten wird.

Wenden wir das obige Beispiel auf eine nicht statische Variable an.

Beispielcode:

function total_marks () {
    $marks = 90;
    $marks ++;
    print $marks;
    print "<br />";
}
total_marks();
total_marks();
total_marks();

Ausgabe:

91
91
91

Der Wert der Variablen $marks wird bei jedem Funktionsaufruf auf 90 zurückgesetzt. Es zeigt, dass die nicht statische Variable ihren vorherigen Wert nicht beibehält.

Verwenden Sie das Schlüsselwort self, um auf die statische Variable innerhalb der Klasse in PHP zuzugreifen

Wir können das Schlüsselwort self verwenden, um auf eine statische Variable innerhalb einer Klasse zuzugreifen. Nach dem Schlüsselwort self wird ein Doppelpunkt :: verwendet und direkt danach folgt die statische Variable.

Das Schlüsselwort this funktioniert nicht für statische Variablen, da die statische Variable nicht zu einem Objekt gehört.

Erstellen Sie beispielsweise in einer Klasse Student eine statische Variable $name und weisen Sie einen Wert John Doe zu. Innerhalb einer Funktion verwendet who() das Schlüsselwort self mit dem Doppelpunkt, um auf die statische Variable $name zuzugreifen, und ruft schließlich die Funktion mit einem Objekt der Klasse auf.

Beispielcode:

class Student {
    public static $name = "John Doe";
    public function who() {
    echo self::$name;
    }
}
$obj = new Student;
$obj->who();

Ausgabe:

John Doe

Verwenden Sie den Klassennamen, um auf eine statische Variable außerhalb der Klasse in PHP zuzugreifen

Auf statische Variablen kann direkt zugegriffen werden, ohne eine Instanz der Klasse zu erstellen. Um auf eine statische Variable außerhalb der Klasse zuzugreifen, können wir den Namen der Klasse schreiben, gefolgt von einem Doppelpunkt (::), gefolgt vom Namen der statischen Variablen.

Zum Beispiel erstellt Student innerhalb einer Klasse eine statische Variable wie in der ersten Methode. Schreiben Sie als nächstes Student:$name außerhalb der Klasse, um auf die statische Variable zuzugreifen.

Beispielcode:

class Student {
    public static $name = "John Doe";
}
echo Student::$name;

Ausgabe:

John Doe

Auf die statische Variable $name wird ausserhalb der Klasse mit dem Klassennamen zugegriffen.

Greifen Sie auf die statische Variable innerhalb der statischen Methode zu

Im ersten Beispiel haben wir gelernt, auf statische Variablen innerhalb einer Klasse zuzugreifen. Dort haben wir auf eine statische Variable innerhalb einer nicht statischen Methode zugegriffen.

Dieser Abschnitt platziert die statische Variable in einer statischen Methode und greift darauf zu. Wir können das Schlüsselwort static vor die Funktion schreiben, um eine statische Methode zu erstellen, auf statische Funktionen zugreifen, ohne eine Instanz der Klasse zu erstellen, und den Klassennamen verwenden, um die statische Methode aufzurufen.

Beispielcode:

class Student {
    public static $name = "John Doe";
    public static function who() {
    echo self::$name;
    }
}
Student::who();

Ausgabe:

John Doe

Hier haben wir auf die statische Methode who() mit der Klasse Student mit dem Operator :: zugegriffen. Wir haben das Schlüsselwort self verwendet, um auf die statische Variable innerhalb der Methode zuzugreifen.

Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn