>  기사  >  백엔드 개발  >  PHP에서 주어진 객체에 메소드가 존재하는지 확인하는 방법은 무엇입니까?

PHP에서 주어진 객체에 메소드가 존재하는지 확인하는 방법은 무엇입니까?

藏色散人
藏色散人원래의
2021-08-20 10:17:241972검색

이전 글 "PHP에서 3가지 마법의 상수를 사용하여 디렉터리, 파일 이름, 줄 번호를 빠르게 가져오는 방법"에서는 3가지 상수를 사용하여 현재 디렉터리, 파일 이름, 줄 번호를 가져오는 방법을 소개했습니다. 도움이 필요한 경우 한 번 더 자세히 알아볼 수 있습니다!

이 기사에서는 PHP 인터뷰 과정에서 매우 일반적인 질문을 소개합니다.

질문은 "PHP는 주어진 개체에 메서드가 존재하는지 어떻게 확인합니까?"와 같습니다.

3초만 드릴께요 빠르게 답변해주실 수 있나요?

네, method_exists() 함수입니다! method_exists()函数!

PHP method_exists() 函数就是用于检查给定对象中的方法是否存在的,如果面试问到这种基础知识,相信大家绝对能轻而易举拿下!

下面给大家简单介绍一下method_exists()函数的使用:

该函数的语法是method_exists(objectname, methodname);

其中参数objectname就表示对象示例或者类名。

参数methodname则表示方法名。

注:参数 objectname 和 methodname 都是必填字段。

使用method_exists()的示例如下:

<?php
    class Demo {
        function funcdemo(){
            echo &#39;Hello World&#39;;
        }
    }
    $demo = new Demo();
    if(method_exists($demo, funcdemo)) {
        echo &#39;方法存在于给定对象中&#39;;
    }
?>

输出:

方法存在于给定对象中

顺便给大家介绍几个相关的函数:

function_exists() - 如果给定的函数已经被定义就返回 true;

语法:function_exists(string $function_name): bool

返回值:如果 function_name 存在且的确是一个函数就返回 true ,反之则返回 false 。

is_callable() - 检测参数是否为合法的可调用结构;

语法:is_callable(callable $name, bool $syntax_only = false, string &$callable_name = ?): bool

返回值:如果 name 可调用则返回 true,否则返回 false。

class_exists() - 检查类是否已定义;

语法:class_exists(string $class, bool $autoload = true): bool

PHP method_exists() 함수는 주어진 객체에 메소드가 존재하는지 확인하는 데 사용됩니다. 면접에서 이런 기본 지식을 묻는다면 분명 쉽게 이길 수 있을 거라 믿습니다!

다음은 method_exists() 함수 사용에 대한 간략한 소개입니다.

이 함수의 구문은 method_exists(objectname, methodname);

입니다. 매개변수 objectname은 객체 예제 또는 클래스 이름을 나타냅니다. 🎜🎜메서드 methodname은 메소드 이름을 나타냅니다. 🎜🎜참고: 매개변수 objectname 및 methodname은 필수 필드입니다. 🎜🎜method_exists()를 사용하는 예는 다음과 같습니다. 🎜rrreee🎜출력: 🎜rrreee🎜그런데 관련 함수를 몇 가지 소개하겠습니다. 🎜🎜→function_exists() - 주어진 함수가 정의된 경우 true를 반환합니다. 🎜🎜구문: ​​function_exists(string $function_name): bool🎜🎜 반환 값: function_name이 존재하고 실제로 함수인 경우 true를 반환합니다. , 그렇지 않으면 false를 반환합니다. 🎜🎜→is_callable() - 매개변수가 합법적인 호출 가능 구조인지 확인하세요. 🎜🎜 구문: is_callable(callable $name, bool $syntax_only = false, string &$callable_name = ?) : bool🎜🎜반환 값: 이름을 호출할 수 있으면 true, 그렇지 않으면 false입니다. 🎜🎜→class_exists() - 클래스가 정의되었는지 확인하세요. 🎜🎜구문: ​​class_exists(string $class, bool $autoload = true): bool🎜🎜Return value: 이 함수는 class가 가리키는 클래스가 정의되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 🎜🎜PHP 중국어 웹사이트 플랫폼에는 많은 동영상 교육 자료가 있습니다. 누구나 "🎜PHP 동영상 튜토리얼🎜"을 배울 수 있습니다! 🎜

위 내용은 PHP에서 주어진 객체에 메소드가 존재하는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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