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

PHP-Statik, was bedeutet das?

藏色散人
Freigeben: 2023-03-14 09:06:01
Original
2063 Leute haben es durchsucht

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();
?>
Nach dem Login kopieren

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";
?>
Nach dem Login kopieren

Ausgabe der obigen Routine in PHP 8 Ähnlich wie:

foo
foo
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage