Heim  >  Artikel  >  Backend-Entwicklung  >  Unterscheidet sich der Aufrufbereich von PHP7 von PHP5?

Unterscheidet sich der Aufrufbereich von PHP7 von PHP5?

WBOY
WBOYOriginal
2016-12-01 00:56:52800Durchsuche

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>

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>

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...

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