>  기사  >  백엔드 개발  >  제3자 책임 보험 보상 범위 PHP 범위 분석 연산자:: 의미 분석 설명

제3자 책임 보험 보상 범위 PHP 범위 분석 연산자:: 의미 분석 설명

WBOY
WBOY원래의
2016-07-29 08:45:561522검색

오늘은 PHP와 관련된 여러 기호를 보았습니다. 하나는 @인데, PHP 인터프리터가 오류를 보고하지 못하도록 변수 앞에 추가하는데, 이는 오류가 발생하더라도 표시되지 않는다는 의미입니다.
더 중요한 기호인 PHP의 범위 결정 연산자(::)도 있습니다.
인스턴스를 선언하지 않고 클래스의 함수나 기본 클래스의 함수 및 변수에 액세스하는 것이 유용합니다. 그리고 이 경우에는 :: 연산자가 사용됩니다.

코드 복사 코드는 다음과 같습니다.


클래스 A {
함수 예시 () {
echo "나는 원래 함수 A::example().
n"
}
}
클래스 B 확장 A {
함수 예제 () {
echo "나는 재정의된 함수 B::example().
n"
A::example()
}
}
// A 클래스에 개체가 없습니다.
// 나는 원래 함수 A::example()입니다.

A::example()
// 클래스 B 객체 생성
$b = new B;// 이는
을 출력합니다// 나는 재정의된 함수 B::example()입니다.
나는 원래 함수 A::example()입니다.

$b->example()
?> 클래스 A example()의 함수이지만 여기에는 클래스 A의 객체가 없으므로 $a->example() 또는 유사한 메서드를 사용하여 example()을 호출할 수 없습니다. 대신에 우리는 example()을 클래스 함수, 즉 이 클래스의 객체가 아닌 클래스 자체의 함수로 호출합니다.
여기에는 클래스 함수가 ​​있지만 클래스 변수는 없습니다. 실제로 함수가 호출될 때 개체가 전혀 없습니다. 따라서 클래스의 함수는 객체를 사용할 수 없으며(로컬 또는 전역 변수는 사용할 수 있음) $this 변수를 전혀 사용할 수 없습니다.
위의 예에서 클래스 B는 example() 함수를 재정의합니다. 클래스 A에 원래 정의된 함수 example()은 마스크되며 :: 연산자를 사용하여 클래스 A의 example() 함수에 액세스하지 않는 한 더 이상 적용되지 않습니다. 예: A::example() (실제로는 다음 장에서 소개할 parent::example()로 작성해야 합니다.)
그렇기 때문에 현재 개체에 개체 변수가 있을 수 있습니다. 따라서 객체 함수 내에서 $this 및 객체 변수를 사용할 수 있습니다.

위에는 제3자 책임보험의 보상 범위와 PHP의 범위 분석 연산자::의 의미에 대한 분석 및 설명이 소개되어 있으며, 제3자 책임 보험의 보상 범위도 포함됩니다. PHP 튜토리얼에 관심이 있습니다.


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