소개
클래스 내부에 선언된 데이터 멤버를 속성이라고 합니다. 속성은 속성 또는 필드라고도 합니다. PHP에서 속성은 액세스 지정자 키워드 public 중 하나로 한정됩니다. , 비공개 또는 보호 . 속성 이름은 PHP에서 유효한 레이블이 될 수 있습니다. 속성 값은 클래스 인스턴스마다 다를 수 있습니다. 그래서 인스턴스 변수라고도 합니다.
모든 인스턴스 메서드 내에서 pesudo-변수 $this로 사용 가능한 개체의 컨텍스트를 호출하여 속성에 액세스할 수 있습니다. . 속성이 공개로 선언된 경우 ->의 도움으로 이의를 제기할 수 있습니다. 운영자. 속성이 정적으로 정의된 경우 키워드, 해당 값은 클래스의 모든 개체 간에 공유되며 범위 확인 연산자 (::) 를 사용하여 액세스됩니다. 및 클래스 이름.
속성 선언 및 액세스
이 예는 속성이 정의되고 액세스되는 방법을 보여줍니다.
예시
<?php class myclass{ private $fname="Kiran"; public $mname="Pratap"; static $lname="Singh"; function dispdata(){ echo "$this->fname\n"; echo "$this->mname\n"; echo myclass::$lname; } } $obj=new myclass(); $obj->dispdata(); ?>
출력
위 코드의 출력은 다음과 같습니다 -
Kiran Pratap Singh
클래스 외부에서 public으로 선언된 인스턴스 속성은 개체에서 사용할 수 있지만 private 속성은 액세스할 수 없습니다. 이전 버전의 PHP에서는 var 속성 선언에 키워드를 사용할 수 있습니다. 지금은 더 이상 사용되지 않지만 이전 버전과의 호환성을 위해 계속 사용할 수 있으며 속성의 공개 선언으로 처리됩니다.
PHP 7.4에는 속성 변수의 유형 선언이 도입되었습니다.
예시
<?php class myclass{ private string $name; private int $age; function setdata(string $x, int $y){ $this->name=$x; $this->age=$y; } } $obj=new myclass("Kiran",20); ?>