
ReflectionProperty::isPrivate는 private 속성을 확인하는 메소드입니다. 이 메소드는 private 속성이 있는지 여부를 boolean 값으로 반환합니다.
private 속성이 ReflectionProperty::isPrivate에서 True로 반환되는 이유는 private 속성이 private 접근 제어자로 선언된 속성이기 때문입니다. private 속성은 클래스 내부에서만 접근할 수 있습니다.
public 속성과 protected 속성은 ReflectionProperty::isPrivate에서 False로 반환됩니다. public 속성은 클래스 외부에서 접근할 수 있고, protected 속성은 클래스 내부와 상속된 클래스에서 접근할 수 있습니다.
예를 들어, 다음과 같은 코드가 있다고 가정해 보겠습니다.
#hostingforum.kr
php
class Test {
private $privateVar;
protected $protectedVar;
public $publicVar;
public function __construct() {
$this->privateVar = 'private';
$this->protectedVar = 'protected';
$this->publicVar = 'public';
}
public function getProperties() {
return get_object_vars($this);
}
}
이 클래스의 경우, private 속성이 ReflectionProperty::isPrivate에서 True로 반환되는지 확인하고 싶습니다.
#hostingforum.kr
php
$reflection = new ReflectionClass('Test');
$properties = $reflection->getProperties(ReflectionProperty::IS_PRIVATE);
foreach ($properties as $property) {
echo $property->getName() . ': ' . $property->isPrivate() . "n";
}
이 코드는 private 속성만 반환하는지 확인하고 싶습니다. private 속성이 반환되는지 알려드리겠습니다.
* private 속성: True
* protected 속성: False
* public 속성: False
protected 속성이 반환되는지 확인하고 싶다면, 다음 코드를 사용하십시오.
#hostingforum.kr
php
$reflection = new ReflectionClass('Test');
$properties = $reflection->getProperties(ReflectionProperty::IS_PROTECTED);
foreach ($properties as $property) {
echo $property->getName() . ': ' . $property->isProtected() . "n";
}
이 코드는 protected 속성만 반환하는지 확인하고 싶습니다. protected 속성이 반환되는지 알려드리겠습니다.
* private 속성: False
* protected 속성: True
* public 속성: False
public 속성이 반환되는지 확인하고 싶다면, 다음 코드를 사용하십시오.
#hostingforum.kr
php
$reflection = new ReflectionClass('Test');
$properties = $reflection->getProperties(ReflectionProperty::IS_PUBLIC);
foreach ($properties as $property) {
echo $property->getName() . ': ' . $property->isPublic() . "n";
}
이 코드는 public 속성만 반환하는지 확인하고 싶습니다. public 속성이 반환되는지 알려드리겠습니다.
* private 속성: False
* protected 속성: False
* public 속성: True
2025-05-27 05:40