라이브러리

[PHP] ReflectionProperty::getModifiers - 속성 수정자를 가져옵니다.




PHP ReflectionProperty::getModifiers는 클래스의 프로퍼티에 대한 접근 제어자(Modifiers)를 반환하는 메서드입니다. 접근 제어자는 클래스의 프로퍼티에 대한 접근 권한을 지정하는 데 사용됩니다.

접근 제어자(Modifiers)


PHP에서 접근 제어자는 다음과 같이 4가지 종류가 있습니다.

- `public`: 모든 곳에서 접근할 수 있습니다.
- `private`: 클래스 내부에서만 접근할 수 있습니다.
- `protected`: 클래스와 상속받은 클래스에서만 접근할 수 있습니다.
- `static`: 클래스 변수를 의미합니다.

ReflectionProperty::getModifiers


`ReflectionProperty::getModifiers` 메서드는 클래스의 프로퍼티에 대한 접근 제어자를 반환합니다. 반환 값은 `int` 형태이며, 다음과 같이 접근 제어자를 나타냅니다.

- `ReflectionProperty::IS_PUBLIC` (1): `public` 접근 제어자
- `ReflectionProperty::IS_PROTECTED` (2): `protected` 접근 제어자
- `ReflectionProperty::IS_PRIVATE` (4): `private` 접근 제어자
- `ReflectionProperty::IS_STATIC` (8): `static` 접근 제어자

예제


#hostingforum.kr
php

class Person {

    public $name;

    protected $age;

    private $address;



    public function __construct($name, $age, $address) {

        $this->name = $name;

        $this->age = $age;

        $this->address = $address;

    }

}



$person = new Person('John Doe', 30, 'Seoul');



$reflectionClass = new ReflectionClass('Person');

$reflectionProperty = $reflectionClass->getProperty('name');



echo "name 프로퍼티의 접근 제어자: " . $reflectionProperty->getModifiers() . "
";



if ($reflectionProperty->getModifiers() & ReflectionProperty::IS_PUBLIC) {

    echo "name 프로퍼티는 public 접근 제어자입니다.
";

}



if ($reflectionProperty->getModifiers() & ReflectionProperty::IS_PROTECTED) {

    echo "name 프로퍼티는 protected 접근 제어자입니다.
";

}



if ($reflectionProperty->getModifiers() & ReflectionProperty::IS_PRIVATE) {

    echo "name 프로퍼티는 private 접근 제어자입니다.
";

}



if ($reflectionProperty->getModifiers() & ReflectionProperty::IS_STATIC) {

    echo "name 프로퍼티는 static 접근 제어자입니다.
";

}



위 예제에서는 `Person` 클래스의 `name` 프로퍼티에 대한 접근 제어자를 확인합니다. `getModifiers` 메서드를 사용하여 `name` 프로퍼티의 접근 제어자를 반환하고, `IS_PUBLIC`, `IS_PROTECTED`, `IS_PRIVATE`, `IS_STATIC` 상수와 비트 연산을 사용하여 접근 제어자를 확인합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 209 페이지

검색

게시물 검색