Heim > Backend-Entwicklung > PHP-Problem > Worauf bezieht sich die statische PHP-Methode?

Worauf bezieht sich die statische PHP-Methode?

藏色散人
Freigeben: 2023-03-03 10:22:02
Original
2410 Leute haben es durchsucht

Die statische PHP-Methode bezieht sich auf die Verwendung des Schlüsselworts „static“ in PHP zum Definieren statischer Methoden und Eigenschaften. „Static“ kann auch zum Definieren statischer Variablen und später statischer Bindungen verwendet werden 'foo';".

Worauf bezieht sich die statische PHP-Methode?

Empfohlen: „PHP-Tutorial

Statisches (statisches) Schlüsselwort

Auf dieser Seite wird erläutert, wie Sie mit dem Schlüsselwort static statische Methoden und Eigenschaften definieren. static kann auch zum Definieren statischer Variablen und später statischer Bindung verwendet werden.

Das Deklarieren von Klassenattributen oder -methoden als statisch ermöglicht den direkten Zugriff ohne Instanziierung der Klasse. Auf statische Eigenschaften kann nicht über ein Objekt einer instanziierten Klasse zugegriffen werden (auf statische Methoden ist dies jedoch möglich).

Aus Gründen der Kompatibilität mit PHP 4 sind Eigenschaften und Methoden standardmäßig öffentlich, wenn keine Zugriffskontrolle angegeben ist.

Da statische Methoden keinen Aufruf eines Objekts erfordern, ist die Pseudovariable $this in statischen Methoden nicht verfügbar.

Auf statische Eigenschaften können Objekte nicht über den ->-Operator zugreifen.

Der statische Aufruf einer nicht statischen Methode führt zu einem Fehler auf E_STRICT-Ebene.

Wie alle anderen statischen PHP-Variablen können statische Eigenschaften nur als Literale oder Konstanten initialisiert werden, nicht als Ausdrücke. Eine statische Eigenschaft kann also mit einer Ganzzahl oder einem Array initialisiert werden, sie kann jedoch nicht mit einem anderen Variablen- oder Funktionsrückgabewert initialisiert werden und kann auch nicht auf ein Objekt verweisen.

Seit PHP 5.3.0 können Sie eine Variable verwenden, um eine Klasse dynamisch aufzurufen. Der Wert dieser Variablen darf jedoch nicht die Schlüsselwörter self, parent oder static sein.

Beispiel #1 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";      // Undefined "Property" my_static 
print $foo::$my_static . "\n";
$classname = &#39;Foo&#39;;
print $classname::$my_static . "\n"; // As of PHP 5.3.0
print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>
   </programlisting>
  </example>
  <example>
   <title>静态方法示例</title>
    <programlisting role="php">
<![CDATA[
<?php
class Foo {
    public static function aStaticMethod() {
        // ...
    }
}
Foo::aStaticMethod();
$classname = &#39;Foo&#39;;
$classname::aStaticMethod(); // 自 PHP 5.3.0 起
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWorauf bezieht sich die statische PHP-Methode?. 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