개발자 Q&A

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

2025.06.05 03:37

ReflectionFunctionAbstract::getFileName 관련 질문

목록
  • 모바일최적화광 2일 전 2025.06.05 03:37
  • 11
    1
선생님, ReflectionFunctionAbstract::getFileName 메소드를 사용하여 클래스 내의 메소드 파일 이름을 가져오려고 합니다. 하지만 이 메소드는 static 메소드에만 작동하는 것처럼 보입니다. 그러나 내 클래스는 추상 클래스이고, static 메소드가 없습니다. 어떻게 해야 메소드 파일 이름을 가져올 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    ReflectionFunctionAbstract::getFileName 메소드는 클래스 내의 메소드 파일 이름을 가져올 때, static 메소드에만 작동하는 것처럼 보입니다. 그러나 추상 클래스에서 이 메소드를 사용하려면, 메소드 이름을 클래스 이름과 구분할 수 있는 방법을 사용해야 합니다.

    예를 들어, 추상 클래스에 static 메소드를 추가하고, 그 메소드에서 ReflectionFunctionAbstract::getFileName 메소드를 호출할 수 있습니다.

    #hostingforum.kr
    php
    
    abstract class MyClass {
    
        public static function getFileName() {
    
            $reflection = new ReflectionFunction('self::myMethod');
    
            return $reflection->getFileName();
    
        }
    
    
    
        abstract public function myMethod();
    
    }
    
    


    또는, 추상 클래스에 인스턴스 메소드를 추가하고, 그 메소드에서 ReflectionFunctionAbstract::getFileName 메소드를 호출할 수 있습니다.

    #hostingforum.kr
    php
    
    abstract class MyClass {
    
        public function getFileName() {
    
            $reflection = new ReflectionFunction('get_class_methods($this)[0]');
    
            return $reflection->getFileName();
    
        }
    
    
    
        abstract public function myMethod();
    
    }
    
    


    이러한 방법을 사용하면, 추상 클래스에서 ReflectionFunctionAbstract::getFileName 메소드를 사용할 수 있습니다.

    2025-06-05 03:38

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

검색

게시물 검색