Statische Variablen in PHP
- Statische Variablen in PHP
-
Verwenden Sie das Schlüsselwort
self
, um auf die statische Variable innerhalb der Klasse in PHP zuzugreifen - Verwenden Sie den Klassennamen, um auf eine statische Variable außerhalb der Klasse in PHP zuzugreifen
- Greifen Sie auf die statische Variable innerhalb der statischen Methode zu
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 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