오늘 __call()
과 __callStatic()
공부하다가 Niao 형제님의 PHP Calling Scope에 관한 글을 읽었습니다
그런데 다음 코드가 PHP5.5와 PHP7에서 서로 다른 결과를 생성한다는 사실을 발견하셨나요?
<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>
PHP7에서 이를 조정하는 방법에 대한 지침을 찾을 수 없습니다. 조언 감사합니다
오늘 __call()
과 __callStatic()
공부하다가 Niao 형제님의 PHP Calling Scope에 관한 글을 읽었습니다
그런데 다음 코드가 PHP5.5와 PHP7에서 서로 다른 결과를 생성한다는 사실을 발견하셨나요?
<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>
PHP7에서 이를 조정하는 방법에 대한 지침을 찾을 수 없습니다. 조언 감사합니다
이 조정을 통해 이전 버전과 호환되지 않고 PHP 5.6에서 사용 중지로 표시된 PHP 7에서 찾을 수 있습니다
비정적 메서드를 정적으로 호출하는 경우 정적 호출 중에 $this가 정의되지 않았다는 메시지가 표시되고 오류가 보고됩니다.
http://php.net/manual/en/migr...
http://m.runoob.com/php/php-d...