Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP get_class_methods() 함수 완벽 가이드 – 클래스 메서드 이름 배열로 가져오기

PHP에서 get_class_methods() 함수는 특정 클래스에 정의된 모든 메서드 이름을 조회하는 데 사용됩니다. 이 함수는 name_of_class 매개변수로 지정한 클래스에 정의되어 있는 메서드 이름들을 배열 형태로 반환하며, 오류가 발생할 경우 NULL을 반환합니다.

문법

get_class_methods(class)

매개변수

  • name_of_class − 메서드 목록을 확인하고자 하는 클래스 이름 또는 클래스 인스턴스입니다. 필수 값입니다.

반환값

get_class_methods() 함수는 지정한 클래스에 정의된 메서드 이름들을 담은 배열(array)을 반환합니다. 만약 클래스가 존재하지 않거나 오류가 발생하면 NULL을 반환합니다.

사용 예제

다음 예제를 통해 실제 사용 방법을 살펴보겠습니다.

<?php
class Demo {
    function Demo() {
        return(true);
    }
    function displayOne() {
        return(true);
    }
    function displayTwo() {
        return(true);
    }
}
$method = get_class_methods('Demo');
$method = get_class_methods(new Demo());
foreach ($method as $method_name) {
    echo "$method_name \n";
}
?>

출력 결과

Demo
displayOne
displayTwo

참고 사항

위 예제에서 볼 수 있듯이, get_class_methods() 함수에는 클래스 이름(문자열) 또는 클래스 인스턴스(new 키워드로 생성한 객체) 중 어느 것이든 전달할 수 있습니다. 두 가지 방식 모두 동일한 결과를 반환합니다.

또한 한 가지 주의할 점이 있습니다. 예제 코드에 사용된 function Demo()와 같이 클래스 이름과 동일한 구식 생성자(constructor) 방식은 PHP 7에서는 폐기(deprecated) 예정으로 경고가 발생하며, PHP 8부터는 완전히 제거되었습니다. 따라서 최신 버전의 PHP에서 작업할 때는 반드시 __construct() 매직 메서드를 사용하여 생성자를 정의해야 합니다.

이 함수는 디버깅 시 클래스 내부 구조를 파악하거나, 리플렉션(reflection) 기반 기능을 구현할 때 매우 유용하게 활용됩니다.