>  기사  >  백엔드 개발  >  PHP에서 클래스 정적 호출과 범위 확인 연산자의 차이점

PHP에서 클래스 정적 호출과 범위 확인 연산자의 차이점

小云云
小云云원래의
2018-01-11 10:32:251336검색

이 글은 주로 PHP의 클래스 정적 호출과 범위 결정 연산자의 차이점을 소개합니다. 도움이 필요한 친구들이 참고하면 도움이 될 것입니다.

구체적인 코드는 다음과 같습니다.


<?php
//在子类或类内部用“::”调用本类或父类时,不是静态调用方法,而是范围解析操作符。
class ParentClass {
 public static $my_static = &#39;parent var &#39;;
 function test() {
  self::who(); // 输出 &#39;parent&#39; 是范围解析,不是静态调用
  $this->who(); // 输出 &#39;child&#39;
  static::who(); // 延迟静态绑定 是范围解析,不是静态调用
 }
 function who() {
  echo &#39;parent<br>&#39;;
 }
}
class ChildClass extends ParentClass {
 public static $my_static = &#39;child var &#39;;
 function who() {
  echo &#39;child<br>&#39;;
 }
}
$obj = new ChildClass();
$obj->test();
echo ChildClass::$my_static;//静态调用

위 출력

parent

child

child

child var

관련 권장 사항:

비정적 메서드를 PHP에서 정적으로 호출할 수 있나요? (이상한 호출)

비정적 메소드를 정적으로 호출하는 PHP의 애플리케이션 분석_PHP 튜토리얼

비정적 메소드를 정적으로 호출하는 PHP의 애플리케이션 분석

위 내용은 PHP에서 클래스 정적 호출과 범위 확인 연산자의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.