>백엔드 개발 >PHP 문제 >PHP에서 현재 클래스의 메소드를 얻는 방법(두 가지 방법)

PHP에서 현재 클래스의 메소드를 얻는 방법(두 가지 방법)

PHPz
PHPz원래의
2023-04-12 09:20:001419검색

PHP 개발자에게 현재 클래스의 메소드를 가져오는 것은 매우 기본적이지만 중요한 작업입니다. PHP에서는 현재 클래스의 메서드를 가져와야 하는 경우 다음 두 가지 방법으로 얻을 수 있습니다.

메서드 1: __METHOD__ 매직 상수 사용

__METHOD__는 PHP의 매직 상수로, 현재 실행 중인 메소드의 이름을 반환할 수 있습니다. 따라서 이를 사용하여 현재 클래스의 메서드를 얻을 수 있습니다. 다음은 샘플 코드입니다.

class Person {
    public function getName() {
        echo __METHOD__;
    }
}

$p = new Person();
$p->getName(); //输出Person::getName

위의 예에서는 Person 클래스를 생성하고 인스턴스화했습니다. 그런 다음 Person 클래스의 getName 메소드를 호출하고 메소드의 __METHOD__ 상수 값을 출력했습니다.

getName 메소드를 호출하면 __METHOD__ 상수는 "Person::getName"을 반환합니다. 이는 정확히 우리에게 필요한 현재 메소드의 이름입니다.

방법 2: get_class_methods 함수 사용

현재 클래스 메서드를 가져오는 또 다른 방법은 PHP 내장 함수 get_class_methods를 사용하는 것입니다. 이 함수는 클래스의 모든 퍼블릭 메서드 배열을 반환할 수 있으며, 이 배열의 키 이름은 메서드 이름이고 값은 현재 클래스 인스턴스를 참조하는 호출 가능한 개체입니다.

여기 샘플 코드가 있습니다:

class Person {
    public function getName() {
        echo "My name is Joe";
    }
}

$p = new Person();
$methods = get_class_methods($p);
var_dump($methods);

위의 예에서는 Person 클래스를 생성하고 인스턴스화했습니다. 그런 다음 get_class_methods 함수를 사용하여 Person 클래스의 모든 메서드를 가져와서 콘솔에 출력했습니다.

위 코드를 실행하면 get_class_methods 함수의 반환 결과가 출력됩니다. 이는 아래와 같이 클래스의 모든 공개 메서드 배열입니다.

array(1) {
  [0]=>
  string(7) "getName"
}

이 배열에서 키 이름은 메서드 이름입니다. "getName", 값은 현재 클래스 인스턴스의 호출 가능한 객체입니다.

요약

위는 PHP가 현재 클래스 메소드를 얻는 두 가지 방법입니다. __METHOD__ 매직 상수나 내장 함수 get_class_methods를 사용하여 현재 클래스의 모든 메서드를 가져올 수 있습니다. 초보자의 경우 __METHOD__ 매직 상수를 사용하여 현재 클래스의 메서드를 가져오는 것이 더 간단하고 이해하기 쉽기 때문에 권장됩니다. 특정 경험이 있는 PHP 개발자의 경우 get_class_methods 함수가 더 일반적이고 실용적입니다.

위 내용은 PHP에서 현재 클래스의 메소드를 얻는 방법(두 가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.