개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.16 07:05

ReflectionParameter::getAttributes를 사용하여 속성 정보 가져오기

목록
  • 버그헌터 5일 전 2025.07.16 07:05
  • 35
    1
제가 ReflectionParameter::getAttributes를 사용하여 속성 정보를 가져오려고 하는데,
이 메서드는 어떤 종류의 속성을 반환해주나요?
속성 정보는 어떠한 형태로 반환되나요?

예를 들어,
php

class TestClass {

    public $testProperty1;

    public $testProperty2;

}



$reflectionClass = new ReflectionClass('TestClass');

$reflectionParameter = $reflectionClass->getProperty('testProperty1')->getParameters()[0];

$attributes = $reflectionParameter->getAttributes();



print_r($attributes);



위 코드에서 $attributes가 어떤 형태로 반환될까요?

    댓글목록

    profile_image
    나우호스팅  5일 전



    ReflectionParameter::getAttributes 메서드는 클래스, 인터페이스, 함수, 메서드, 속성에 적용할 수 있는 어트리뷰트를 반환합니다.

    어트리뷰트는 PHP 8.0부터 지원하는 기능으로, 클래스, 인터페이스, 함수, 메서드, 속성에 추가적인 정보를 제공합니다.

    위 코드에서 $attributes는 어트리뷰트의 배열로 반환됩니다.

    예를 들어, 위 코드에서 $attributes는 다음과 같은 형태로 반환될 것입니다.

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [0] => ReflectionAttribute Object
    
            (
    
                [name] => Attribute1
    
                [target] => ReflectionProperty Object
    
                    (
    
                        [name] => testProperty1
    
                        [class] => ReflectionClass Object
    
                            (
    
                                [name] => TestClass
    
                            )
    
    
    
                    )
    
    
    
            )
    
    
    
        [1] => ReflectionAttribute Object
    
            (
    
                [name] => Attribute2
    
                [target] => ReflectionProperty Object
    
                    (
    
                        [name] => testProperty1
    
                        [class] => ReflectionClass Object
    
                            (
    
                                [name] => TestClass
    
                            )
    
    
    
                    )
    
    
    
            )
    
    
    
    )
    
    


    위 예제에서 $attributes는 두 개의 어트리뷰트를 포함하는 배열입니다. 각 어트리뷰트는 ReflectionAttribute 객체로 반환되고, 어트리뷰트의 이름과 타겟 정보가 포함되어 있습니다.

    위 코드에서 $attributes를 사용하여 속성 정보를 가져올 수 있습니다.

    2025-07-16 07:06

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,792건 / 12 페이지

검색

게시물 검색