首页 >后端开发 >PHP问题 >PHP如何检查给定对象中方法是否存在?

PHP如何检查给定对象中方法是否存在?

藏色散人
藏色散人原创
2021-08-20 10:17:242018浏览

在上一篇文章《使用PHP中3个神奇常量快速获取目录、文件名和行号》中给大家介绍了3个常量获取当前目录、文件名和行号的方法,有需要的朋友可以了解一下!

那么本文将给大家介绍一个在PHP面试过程中非常常见的一个问题:

问题如题“PHP如何检查给定对象中方法是否存在”?

给你3秒能不能快速回答出答案?

没错,就是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

返回值:如果由 class 所指的类已经定义,此函数返回 true,否则返回 false。

PHP中文网平台有非常多的视频教学资源,欢迎大家学习《PHP视频教程》!

以上是PHP如何检查给定对象中方法是否存在?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn