>  기사  >  백엔드 개발  >  PHP 클래스 속성

PHP 클래스 속성

伊谢尔伦
伊谢尔伦원래의
2016-11-23 14:22:541546검색

클래스의 변수 멤버를 "속성", "필드" 또는 "기능"이라고 합니다. 이 문서에서는 이를 총칭하여 "속성"이라고 합니다. 속성 선언은 public, protected 또는 private 키워드로 시작하고 일반 변수 선언이 이어집니다. 속성의 변수는 초기화될 수 있지만 초기화된 값은 상수여야 합니다. 여기서 상수는 PHP 스크립트가 컴파일 단계에서 해당 값을 얻을 수 있고 평가하기 위해 런타임 정보에 의존하지 않는다는 것을 의미합니다.

참고:

PHP 4와 이전 버전과 호환되기 위해 PHP 5에서 선언된 속성은 public, protected 또는 private 대신(또는 추가되는) 키워드 var를 직접 사용할 수 있습니다. 그러나 var는 더 이상 필요하지 않습니다. PHP 5.0~5.1.3에서는 var가 더 이상 사용되지 않는 것으로 간주되어 E_STRICT 경고가 발생하지만 5.1.3 이후에는 더 이상 사용되지 않는 것으로 간주되지 않으며 경고가 발생하지 않습니다.

공개, 보호, 비공개 중 하나를 사용하지 않고 var를 사용하여 직접 속성을 선언하면 PHP 5에서는 해당 속성을 공개로 처리합니다.

클래스의 멤버 메서드에서 ->(객체 연산자): $this->property(여기서 property는 속성의 이름)를 사용하여 비정적 속성에 액세스할 수 있습니다. 정적 속성은 ::(이중 콜론): self::$property를 사용하여 액세스됩니다.

예시 #1 속성 선언

class SimpleClass

{

//잘못된 속성 선언

public $var1 = 'hello' .'world';

public $var2 = <<

hello world

EOD;

public $var3 = 1 + 2;

public $var4 = self::myStaticMethod();

public $var5 = $myVar;


// 정답 속성 선언

public $var6 = myConstant;

public $var7 = array(true,false);

//PHP5.3.0 이상 , 다음 문도 정확합니다

public $var8 = <<<'EOD'

hello world

EOD;

}

heredocs와 달리 nowdocs는 속성 선언을 포함한 모든 정적 데이터 컨텍스트에서 사용할 수 있습니다.

예제 #2 예: nowdoc를 사용하여 속성 초기화

//PHP5.3.0부터

public $var = <<<'EOD'

hello world

EOD;

참고:

Nowdoc 지원은 PHP 5.3.0에 추가되었습니다.


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