,,php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析

,,php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析

本文主要介绍php判断某个方法是否具有函数function _ exists()、method _ exists()和is_callable()的区别和用法,并结合实例分析PHP function _ exists()、method _ exists()和is_callable()的基本功能、用法、区别和操作注意事项。有需要的可以参考以下。

本文举例说明了php在判断一个方法是否有函数function _ exists()、method _ exists()和is_callable()时的区别和用法。分享给你,供你参考,如下:

php函数function_exists (),method_exists() 与is_callable()的区别在哪?

先说后两个:method_exists()和is_callable():

在php对象设计的过程中,我们经常需要在调用某个方法时做出一个判断,是否属于某个类。常用的方法有method_exists()和is_callable()

相比之下,is_callable()函数更高级。它接受字符串变量形式的方法名作为第一个参数,如果类方法存在并且可以调用,则返回true。如果要检查类中的方法是否可以调用,可以将数组而不是类的方法名作为参数传递给函数。数组必须包含对象或类名作为其第一个元素,要检查的方法名作为其第二个元素。如果该方法存在于类中,则该函数返回true。

接下来看一段代码:

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

类别测试{

公共函数a() {

返回“测试”;

}

}

abc类{

公共函数a($object,$funcName) {

如果(!Is _ callable (array ($object,$funcName)){/检测方法:$ funcName是否存在于$object中,是否属于正常调用结构。

“echo”错误:the。' '.$funcName。不存在于。$object。/br ';

}否则{

echo‘ok’;

}

}

}

$ ABC=new ABC();

$abc-a('测试',' 111 ');

$abc-a('test ',' a ');

结果如下所示:

那么如果test类中的A方法改为private或者protected会怎么样呢?

如图所示:

如图所示:

好了,我们再来看看method_exists()函数:

结果:

这里不需要讲结论吗?

php中method_exists()和is_callable()有什么区别?

method_exists()和is_callable()的区别在于,在php 5中,方法的存在并不意味着可以被调用。对于私有、受保护和公共类型的方法,method_exits()将返回true,但is_callable()将检查是否可以访问,如果是私有、受保护类型,将返回false。

那么就剩下一个function_exists()了,

这是和后两个相比最弱的一个,因为只有一个参数函数名$string,只决定函数是否定义。

总而言之:

function_exists 比较简单点就是判断函数有没有被定义 而method_exists 是判断类内的方法存不存在 is_callable检测参数是否为合法的可调用结构

返回值为布尔值

更多对PHP相关内容感兴趣的读者,请参考我们的专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》和《php程序设计算法总结》。

希望这篇文章对大家的PHP编程有所帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括,七种PHP开发环境搭建工具
  • php高并发三种解决方法,php 高并发解决方案
  • php高并发三种解决方法,php 高并发解决方案,PHP解决高并发问题(opcache)
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么,php邮件发送的两种方式
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频,PHP跳转页面的几种实现方法详解
  • PHP购物车,php立即购买和购物车功能
  • PHP购物车,php立即购买和购物车功能,php实现购物车功能(上)
  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • php网站判断用户是否是手机访问的方法有哪些,php如何判断用户是否登录
  • 留言与评论(共有 条评论)
       
    验证码: