[PHP] method_exists - 클래스의 메소드(멤버 함수)가 있는지 알아보기

  PHP의 method_exists 함수는 클래스(class)의 메소드(method) 또는 클래스의 멤버 함수(member fucntion)가 선언되어 있는지를 알려준다.

  선언된 메소드(멤버 함수)이면 bool 값으로 참(true)을 돌려주고, 선언되지 않은 메소드이면 bool값으로 거짓(false)을 돌려준다.

▣ 형식

  •  method_exists(object|string $object_or_class, string $method): bool
    • 보기 ① : method_exists(클래스 객체, '메소드 이름');
    • 보기 ② : method_exists('클래스 이름', '메소드 이름');

  대상 클래스는 객체 또는 문자열로 넣을 수 있다.

▣ 보기

Class classA {
function methodA() {}
}

$newClassA = new classA;

$a = method_exists($newClassA, 'methodA'); // 보기 ①
$b = method_exists($newClassA, 'methodB'); // 보기 ①
$c = method_exists('classA', 'methodA'); // 보기 ②
$d = method_exists('classA', 'methodB'); // 보기 ②

print('$a : '); var_dump($a); print('<br />');
print('$b : '); var_dump($b); print('<br />');
print('$c : '); var_dump($c); print('<br />');
print('$d : '); var_dump($d); print('<br />');

▣ 출력 결과

$a : bool(true)
$b : bool(false)
$c : bool(true)
$d : bool(false)

2022/05/08 20:28 2022/05/08 20:28
글 걸기 주소 : 이 글에 다른 글을 걸 수 없습니다

덧글을 달아 주세요