Unterscheidet sich der Aufrufbereich von PHP7 von PHP5?

WBOY
Freigeben: 2023-03-02 07:22:02
Original
841 Leute haben es durchsucht

Heute, als ich __call() und __callStatic() lernte, las ich den Artikel von Bruder Niao über den Calling Scope von PHP

Aber haben Sie festgestellt, dass der folgende Code in PHP5.5 und PHP7 unterschiedliche Ergebnisse liefert?

<code><?php
 class Foo {
     public function bar() {
         var_dump($this); //PHP5.5中打印的是A对象,PHP7是未定义,也就是NULL
     }
 }
 class A {
     public function test() {
         Foo::bar();
     }
 }
 $a  = new A();
 $a->test();
?></code>
Nach dem Login kopieren
Nach dem Login kopieren

Ich konnte keine Anleitung finden, um dies in PHP7 anzupassen. Vielen Dank für Ihren Rat

Antwortinhalt:

Heute, als ich __call() und __callStatic() lernte, las ich den Artikel von Bruder Niao über den Calling Scope von PHP

Aber haben Sie festgestellt, dass der folgende Code in PHP5.5 und PHP7 unterschiedliche Ergebnisse liefert?

<code><?php
 class Foo {
     public function bar() {
         var_dump($this); //PHP5.5中打印的是A对象,PHP7是未定义,也就是NULL
     }
 }
 class A {
     public function test() {
         Foo::bar();
     }
 }
 $a  = new A();
 $a->test();
?></code>
Nach dem Login kopieren
Nach dem Login kopieren

Ich konnte keine Anleitung finden, um dies in PHP7 anzupassen. Vielen Dank für Ihren Rat

Mit dieser Optimierung können Sie es in PHP 7 finden, das nicht abwärtskompatibel ist und in PHP 5.6 als VERALTET markiert wurde

Wenn Sie eine nicht statische Methode statisch aufrufen, werden Sie während des statischen Aufrufs aufgefordert, dass $this nicht definiert ist, und es wird ein Fehler gemeldet.

http://php.net/manual/en/migr...

http://m.runoob.com/php/php-d...

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!