개발자 Q&A

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

2025.04.26 03:11

ReflectionClass::getReflectionConstants에 대한 이해

목록
  • 알파코더 2일 전 2025.04.26 03:11
  • 15
    1
제가 ReflectionClass::getReflectionConstants 메소드를 학습하고 있는데, 이 메소드가 반환하는 결과물에 대해 이해가 잘 안 가네요. getReflectionConstants 메소드는 Class에 정의된 상수(constant)를 반환하는 것인 것 같은데, 그 중에서 'name' 속성의 의미를 알고 싶습니다.

어떻게 보면 name 속성은 상수 이름을 나타내는 것 같고, 하지만 다른 속성인 'class' 속성이 Class 자체를 나타내는 것 같아서 헷갈립니다.

getReflectionConstants 메소드의 반환 결과에서 name 속성과 class 속성이 어떻게 구분되는지 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    ReflectionClass::getReflectionConstants 메소드는 Class에 정의된 상수(constant)를 반환합니다. 반환된 결과는 ReflectionClass::getReflectionConstants 메소드의 반환 결과에서 name 속성은 상수 이름을 나타내고, class 속성은 상수에 속한 Class를 나타냅니다.

    예를 들어, 다음 코드를 살펴보겠습니다.

    #hostingforum.kr
    php
    
    class MyClass {
    
        const MY_CONSTANT = 'Hello, World!';
    
    }
    
    
    
    $reflectionClass = new ReflectionClass('MyClass');
    
    $reflectionConstants = $reflectionClass->getReflectionConstants();
    
    
    
    foreach ($reflectionConstants as $reflectionConstant) {
    
        echo $reflectionConstant->getName() . ' (' . $reflectionConstant->getDeclaringClass()->getName() . '): ' . $reflectionConstant->getValue() . "n";
    
    }
    
    


    이 코드를 실행하면 다음과 같은 결과가 출력됩니다.

    #hostingforum.kr
    
    
    MY_CONSTANT (MyClass): Hello, World!
    
    


    위 결과에서 `getName()` 메소드는 상수 이름을 반환하고, `getDeclaringClass()->getName()` 메소드는 상수가 속한 Class 이름을 반환합니다. 따라서 `name` 속성은 상수 이름을 나타내고, `class` 속성은 상수에 속한 Class를 나타냅니다.

    2025-04-26 03:12

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

검색

게시물 검색