클래스의 변수 멤버를 "속성", "필드" 또는 "기능"이라고 합니다. 이 문서에서는 이를 총칭하여 "속성"이라고 합니다. 속성 선언은 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에 추가되었습니다.