Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung der Verwendung des statischen Schlüsselworts in PHP

Detaillierte Erklärung der Verwendung des statischen Schlüsselworts in PHP

韦小宝
韦小宝Original
2018-03-06 11:43:501530Durchsuche

In einer Klasse in PHP werden Methoden und Attribute mit dem statischen Schlüsselwort als statische Methoden und statische Attribute bezeichnet, wie folgt: Die Methoden und Auf Eigenschaften kann direkt über die Klasse zugegriffen werden, ohne dass über die entsprechende Instanz der Klasse zugegriffen werden muss. Dieser Artikel beschreibt, wie das Schlüsselwort static in PHP verwendet wird.

Neben der Verwendung regulärer Klassen und Methoden, Zugriffskontrolle, gibt es auch das statische Schlüsselwort static. Statische Variablen können lokale Variablen oder globale Variablen sein. Variablen. Wenn ein Programmabschnitt ausgeführt wird, verschwindet er nicht. Wenn er das nächste Mal definiert wird, wird er häufig verwendet, um den vorherigen Wert beizubehalten Unterfunktionen können verwendet werden Variablen definieren Ich werde nicht näher auf deren Funktionen eingehen:

class Human{
     public $name;
     protected $height;
 
     public static $sValue="Static Value in Human";
     public function eat($food){
         echo $this->name . "'s eating ". $food. "\n";
     }
}
 class Me extends Human
 {
     public $team="lsl";
     private $age="23";
 
     public static $president="zzy";
 
     public static function changePresident($newPrsdt){
         static::$president = $newPrsdt;
         echo parent::$sValue . "<br />";
     }
     //静态变量和方法操作
     private static $a="abc";
     public static function abc(){
         echo "<br />".self::$a;
         self::$a.="def";
    }
}
echo Me::$president. "\n";
Me::changePresident("web");
echo Me::$president. "<br />"; 
Me::abc();
Me::abc();


Definieren Sie zuerst einen Menschen, und definieren Sie dann eine Klasse, die ich erben soll. Dann können die Mitglieder in Human über Me-Objekte und die Werte verwendet werden Die Anzahl der Mitgliedsvariablen ist während des gesamten Verwendungsprozesses gültig. Sie können dies anhand des Codes erkennen: Nachdem der Wert einer statischen Variablen geändert wurde, erfolgt der nächste Aufruf. Wenn es sich um eine gewöhnliche Variable handelt, kann dies nicht der Fall sein Es kann nur durch Ändern des Objekts wirksam werden und kann nicht durch Methoden innerhalb der Klasse geändert werden. Durch die letzten beiden Codezeilen ist es einfacher zu erkennen, dass sich der Wert der statischen Variablen $a nach dem Aufruf der Methode abc geändert hat Zweimal können statische Variablen verstanden werden. Sie werden auch häufig verwendet, um die Öffentlichkeit zu speichern Daten der Klasse

2. Innerhalb statischer Methoden kann nur auf statische Attribute zugegriffen werden, einschließlich dieser Klasse und

der übergeordneten Klasse 3. Auf statische Mitglieder kann zugegriffen werden, ohne das Objekt zu instanziieren

4. Verwenden Sie self, um auf statische Eigenschaften innerhalb dieser Klasse zuzugreifen, oder greifen Sie auf statische Schlüsselwörter zu. Die folgenden Variablen müssen $ enthalten, zum Beispiel: self:: $a oder static::$a

5. Verwenden Sie parent, um auf die statischen Eigenschaften der übergeordneten Klasse zuzugreifen. Beispiel: parent::$name

6. Wenn Sie auf statische Variablen oder Methoden außerhalb der Klasse zugreifen, verwenden Sie den Klassennamen, um direkt und ohne Instanziierung darauf zuzugreifen. Zum Beispiel: Me::$pan und Me::abc()

Es gibt so viele spezifische Punkte

Ich glaube nicht Ich verstehe statisch nicht:

Analyse des Unterschieds zwischen statischen statischen Variablen und gewöhnlichen Variablen

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Verwendung des statischen Schlüsselworts in PHP. 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