PHP가 ::를 통해 클래스의 비정적 메서드를 직접 호출할 수 있는 이유는 무엇입니까?
滿天的星座
滿天的星座 2017-06-10 09:47:28
0
7
514

코드는 다음과 같습니다.

으아악

php7.0 실행 출력:

으아악

php5.6 실행 출력

으아악

이런 조작도 있군요??

滿天的星座
滿天的星座

모든 응답(7)
大家讲道理

http://www.laruence.com/2012/...

하하하, 답변해 주신 모든 분들께 감사드립니다. 구체적인 이유는 위의 Brother Bird 글을 읽어보세요

小葫芦

버전 5.6 이하의 클래스가 인스턴스화 없이 메서드와 속성을 직접 호출하는 경우 메서드와 속성은 정적 메서드여야 합니다. 즉, Demo 클래스가 테스트 메서드를 직접 호출하려는 경우 테스트는 public static function test() { }. 그렇지 않으면 오류가 보고됩니다.
7.0 이상에서는 선언할 필요가 없는지 모르겠습니다

扔个三星炸死你

봤지만 php-cli는 실행이 되는데 php-fpm은 여전히 ​​실행이 안되네요

으아악
某草草

사용할 수는 있지만 권장하지는 않습니다.

習慣沉默

php7.0은 이렇게 작성할 수 있지만 php5.6은 self::testing

으로 작성할 수도 있습니다.
大家讲道理

__callStatic()

学习ing

PHP 구현이 엄격하지 않다고 볼 수 있습니다.

비정적 메소드에서 $this가 사용되지 않는 경우::를 사용하여 호출할 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!