개발자 Q&A

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

2025.06.23 22:25

get_declared_classes() 함수 이해를 도와주세요

목록
  • 코드주술사 27일 전 2025.06.23 22:25
  • 61
    1
저는 PHP의 get_declared_classes() 함수에 대해 공부 중인데, 이 함수는 현재 스크립트에서 선언된 클래스의 목록을 반환하는 것 같습니다. 하지만, 이 함수가 반환하는 목록은 어떤 기준에 따라 정렬되나요?

예를 들어, 사용자가 직접 선언한 클래스와 PHP의 내장 클래스가 포함되는지, 또는 상속 관계에 있는 클래스가 함께 반환되는지 궁금합니다. 가능하면 예제를 통해 설명해주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  27일 전



    get_declared_classes() 함수는 현재 스크립트에서 선언된 클래스의 목록을 반환합니다. 이 목록은 클래스의 선언 순서에 따라 정렬됩니다.

    예를 들어, 다음 코드를 실행하면:

    #hostingforum.kr
    php
    
    class A {}
    
    class B extends A {}
    
    class C {}
    
    
    
    $classes = get_declared_classes();
    
    print_r($classes);
    
    


    출력 결과는 다음과 같습니다:

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [0] => A
    
        [1] => B
    
        [2] => C
    
    )
    
    


    위의 예제에서, 클래스 A, B, C는 선언 순서에 따라 정렬되어 반환됩니다.

    이러한 정렬은 PHP가 클래스를 선언할 때의 순서에 따라 결정됩니다.

    또한, 사용자가 직접 선언한 클래스와 PHP의 내장 클래스가 함께 반환됩니다. 예를 들어, 다음 코드를 실행하면:

    #hostingforum.kr
    php
    
    class A {}
    
    class stdClass {}
    
    
    
    $classes = get_declared_classes();
    
    print_r($classes);
    
    


    출력 결과는 다음과 같습니다:

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [0] => stdClass
    
        [1] => A
    
    )
    
    


    위의 예제에서, PHP의 내장 클래스 stdClass와 사용자가 직접 선언한 클래스 A가 함께 반환됩니다.

    상속 관계에 있는 클래스가 함께 반환되는지 여부는 위의 예제에서 확인할 수 있습니다. 클래스 B는 클래스 A를 상속하고 있지만, get_declared_classes() 함수는 클래스 A와 클래스 B를 함께 반환하지 않습니다.

    이러한 이유는 get_declared_classes() 함수가 클래스의 선언 순서에 따라 정렬되기 때문입니다.

    따라서, get_declared_classes() 함수는 사용자가 직접 선언한 클래스와 PHP의 내장 클래스를 함께 반환하며, 클래스의 선언 순서에 따라 정렬됩니다.

    2025-06-23 22:26

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

검색

게시물 검색