Heim >Backend-Entwicklung >PHP-Tutorial >Mehrere Hinweise zur Verwendung statischer Methoden in PHP

Mehrere Hinweise zur Verwendung statischer Methoden in PHP

怪我咯
怪我咯Original
2017-07-05 10:17:481165Durchsuche

In diesem Artikel werden hauptsächlich verschiedene Vorsichtsmaßnahmen für die Verwendung der statischen -Methode in PHP vorgestellt. Außerdem werden die Techniken zum Aufrufen statischer PHP-Methoden und die Analyse fehleranfälliger Punkte im Formular beschrieben von Beispielen. Freunde können auf

Dieser ArtikelBeispiele stellen einige allgemeine Vorsichtsmaßnahmen für die Verwendung statischer Methoden in PHP vor. Teilen Sie es als Referenz mit allen. Die spezifischen Methoden sind wie folgt:

1.

Auch wenn die Methode in der Klasse nicht mit statisch deklariert ist, aber keine veränderbaren Klassenmitgliedsvariablen verwendet, ist dies dennoch der Fall extern verfügbarOperator :: zum Aufrufen 2. Der Wert von $this in einer statisch aufgerufenen Methode (mit dem Operator ::) wird durch den Kontext bestimmt beim Aufruf von Determined! Anstatt seine Klasse zu definieren

Zum Beispiel der folgende Code:

Was wird die Ausgabe dieses Codes sein? normal_v von TestClass1 df250b2156c434f3390392d09b1c9563 STATIC_V von TestClass1, der Test hat festgestellt, dass ich tatsächlich falsch lag, die korrekte Ausgabe ist:

normal_v von TestClass2
<?php 
class TestClass1 
{ 
  public $normal_v = &#39;normal_v from TestClass1&#39;; 
  public static $STATIC_V = &#39;STATIC_V from TestClass1&#39;; 
  public function test_func1() 
  { 
    echo $this->normal_v.&#39;<br />&#39;.self::$STATIC_V; 
  } 
} 
class TestClass2 
{ 
  public $normal_v = &#39;normal_v from TestClass2&#39;; 
  public static $STATIC_V = &#39;STATIC_V from TestClass2&#39;; 
  public function test_func2() 
  { 
    TestClass1::test_func1(); 
  } 
} 
$t2 = new TestClass2(); 
$t2->test_func2();
STATIC_V von TestClass1

Erklärung: test_func1() Obwohl es in TestClass1 definiert ist, wird es in TestClass2 aufgerufen und seine interne $this-Variable wird von TestClass2 bestimmt!


Tatsächlich sollte die Beziehung zwischen diesen beiden Klassen eine „bidirektionale Assoziation“ sein.

Interessierte Freunde können das Beispiel dieses Artikels testen und ausführen. Ich glaube, es wird neue Gewinne geben!

Das obige ist der detaillierte Inhalt vonMehrere Hinweise zur Verwendung statischer Methoden 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