Heim >Backend-Entwicklung >PHP-Problem >PHP-Statik, was bedeutet das?

PHP-Statik, was bedeutet das?

藏色散人
藏色散人Original
2021-12-01 10:40:092065Durchsuche

static ist ein in PHP integriertes Schlüsselwort. Wir können das Schlüsselwort static verwenden, um statische Methoden und Eigenschaften zu definieren, und es kann auch zum Definieren statischer Variablen und später statischer Bindungen verwendet werden.

PHP-Statik, was bedeutet das?

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.4, DELL G3-Computer

Was bedeutet PHP static?

static ist ein integriertes Schlüsselwort in PHP.

Statisches Schlüsselwort

Tipps

Auf dieser Seite wird erläutert, wie Sie das statische Schlüsselwort verwenden, um statische Methoden und Eigenschaften zu definieren. static kann auch zum Definieren statischer Variablen und später statischer Bindung verwendet werden. Sehen Sie sich die Seite oben an, um zu sehen, wie statisch dort verwendet wird.

Wenn Sie ein Klassenattribut oder eine Methode als statisch deklarieren, können Sie direkt darauf zugreifen, ohne die Klasse zu instanziieren. Der Zugriff kann statisch innerhalb eines instanziierten Klassenobjekts erfolgen.

Statische Methoden

Da statische Methoden nicht über Objekte aufgerufen werden müssen, ist die Pseudovariable $this in statischen Methoden nicht verfügbar.

Warnung

Der statische Aufruf einer nicht statischen Methode führt zu einem Fehler.

Vor PHP 8.0.0 war der statische Aufruf einer nicht statischen Methode veraltet und führte zu einer Warnung der Stufe E_DEPRECATED.

Beispiel #1 Beispiel für eine statische Methode

<?php
class Foo {
    public static function aStaticMethod() {
        // ...
    }
}
Foo::aStaticMethod();
$classname = &#39;Foo&#39;;
$classname::aStaticMethod();
?>

Statische Eigenschaften

Auf statische Eigenschaften wird mit dem Bereichsauflösungsoperator ( :: ) zugegriffen und kann nicht über den Objektoperator ( -> ) aufgerufen werden.

Es ist möglich, über eine Variable auf eine Klasse zu verweisen, aber der Wert dieser Variablen darf kein reserviertes Wort sein (z. B. self, parent und static).

Beispiel #2 Beispiel für eine statische Eigenschaft

<?php
class Foo
{
    public static $my_static = &#39;foo&#39;;
    public function staticValue() {
        return self::$my_static;
    }
}
class Bar extends Foo
{
    public function fooStatic() {
        return parent::$my_static;
    }
}
print Foo::$my_static . "\n";
$foo = new Foo();
print $foo->staticValue() . "\n";
print $foo->my_static . "\n";      // 未定义的 "属性" my_static
print $foo::$my_static . "\n";
$classname = &#39;Foo&#39;;
print $classname::$my_static . "\n";
print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>

Ausgabe der obigen Routine in PHP 8 Ähnlich wie:

foo
foo

Hinweis: Zugriff auf die statische Eigenschaft Foo::$my_static als nicht statisch in /in/V0Rvv in Zeile 23

Warnung: Undefinierte Eigenschaft: Foo::$my_static in /in/V0Rvv in Zeile 23

foo
foo
foo
foo

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonPHP-Statik, was bedeutet das?. 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