라이브러리

[PHP] ReflectionProperty::getAttributes - 속성 가져오기




PHP 8.2 버전부터 ReflectionProperty::getAttributes 메소드가 추가되었습니다. 이 메소드는 특정 속성에 적용된 어트리뷰트를 반환합니다. 어트리뷰트는 속성에 추가된 메타데이터를 의미합니다.

어트리뷰트란 무엇인가?


어트리뷰트는 속성에 추가된 메타데이터를 의미합니다. 예를 들어, 속성에 대한 설명, 속성의 읽기/쓰기 권한, 속성의 기본값 등이 어트리뷰트의 예입니다.

ReflectionProperty::getAttributes 메소드


ReflectionProperty::getAttributes 메소드는 특정 속성에 적용된 어트리뷰트를 반환합니다. 메소드의 파라미터는 다음과 같습니다.

* `$reflectionProperty`: 속성에 대한 ReflectionProperty 객체
* `$name`: 어트리뷰트의 이름 (선택 사항)

예제


다음 예제는 ReflectionProperty::getAttributes 메소드를 사용하여 속성에 적용된 어트리뷰트를 반환하는 방법을 보여줍니다.

#hostingforum.kr
php

class User {

    public function __construct(

        #[Attribute('description' => '사용자의 이름')]

        public string $name,

        #[Attribute('description' => '사용자의 나이')]

        public int $age,

    ) {}

}



$user = new User('John Doe', 30);



$reflectionClass = new ReflectionClass(User::class);

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



$attributes = $reflectionProperty->getAttributes();



foreach ($attributes as $attribute) {

    echo $attribute->getName() . ': ' . $attribute->getValue() . "
";

}



위 예제에서, `User` 클래스의 `name` 속성에 `description` 어트리뷰트가 적용되어 있습니다. `ReflectionProperty::getAttributes` 메소드를 사용하여 `name` 속성에 적용된 어트리뷰트를 반환합니다.

결과


#hostingforum.kr


Attribute('description' => '사용자의 이름')



참고


* PHP 8.2 버전부터 ReflectionProperty::getAttributes 메소드가 추가되었습니다.
* 어트리뷰트는 속성에 추가된 메타데이터를 의미합니다.
* ReflectionProperty::getAttributes 메소드는 특정 속성에 적용된 어트리뷰트를 반환합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 277 페이지

검색

게시물 검색