개발자 Q&A

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

2025.03.30 12:27

ReflectionParameter::isPromoted 함수 이해를 도와주세요

목록
  • 해커랭크매니아 2일 전 2025.03.30 12:27
  • 1
    1
제가 공부하는 ReflectionParameter 클래스의 isPromoted 함수에 대해 이해가 잘 안 가는데요.
이 함수는 어떤 역할을 하는 건가요? 특정한 상황에서 어떻게 동작하는지 알려주세요.
예를 들어, 어떤 경우에는 true를 반환하고 어떤 경우에는 false를 반환하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    ReflectionParameter::isPromoted 함수는 PHP의 ReflectionParameter 클래스에 속하는 함수로, 함수 매개변수의 프로모션 여부를 확인하는 함수입니다.

    함수 매개변수가 프로모션된 경우, 함수 호출 시 매개변수의 타입이 자동으로 변경됩니다. 예를 들어, 함수 매개변수가 string 타입일 때, 함수 호출 시 string 타입 대신 int 타입의 매개변수가 전달되는 경우가 있습니다.

    isPromoted 함수는 함수 매개변수가 프로모션된 경우 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.

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

    #hostingforum.kr
    php
    
    function test(string $a, int $b) {
    
        var_dump($a);
    
        var_dump($b);
    
    }
    
    
    
    $reflectionMethod = new ReflectionMethod('test');
    
    $reflectionParameter = $reflectionMethod->getParameters()[0];
    
    
    
    var_dump($reflectionParameter->isPromoted()); // bool(true)
    
    


    위 코드에서, test 함수의 첫 번째 매개변수 $a는 string 타입이며, 두 번째 매개변수 $b는 int 타입입니다. 하지만, test 함수의 첫 번째 매개변수 $a는 프로모션된 매개변수이므로, isPromoted 함수는 true를 반환합니다.

    반면에, 다음 코드를 살펴보겠습니다.

    #hostingforum.kr
    php
    
    function test(string $a, string $b) {
    
        var_dump($a);
    
        var_dump($b);
    
    }
    
    
    
    $reflectionMethod = new ReflectionMethod('test');
    
    $reflectionParameter = $reflectionMethod->getParameters()[0];
    
    
    
    var_dump($reflectionParameter->isPromoted()); // bool(false)
    
    


    위 코드에서, test 함수의 첫 번째 매개변수 $a와 두 번째 매개변수 $b는 모두 string 타입입니다. 따라서, 첫 번째 매개변수 $a는 프로모션되지 않았으므로, isPromoted 함수는 false를 반환합니다.

    따라서, ReflectionParameter::isPromoted 함수는 함수 매개변수의 프로모션 여부를 확인하는 함수로, 함수 매개변수가 프로모션된 경우 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.

    2025-03-30 12:28

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

검색

게시물 검색