加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 将方法作为数组引用与字符串之间的区别是什么?

发布时间:2020-12-13 21:40:06 所属栏目:PHP教程 来源:网络整理
导读:例如,让我们使用is_callable()函数,该函数接受函数名作为参数,并检查是否可以从代码中的该点成功调用它. 如果我想检查对象的方法是否可调用,在引用静态方法时似乎有两个选择: 选项1: is_callable(array("ObjectName","MethodName")); 选项2: is_callable(
例如,让我们使用is_callable()函数,该函数接受函数名作为参数,并检查是否可以从代码中的该点成功调用它.

如果我想检查对象的方法是否可调用,在引用静态方法时似乎有两个选择:

选项1:

is_callable(array("ObjectName","MethodName"));

选项2:

is_callable("ObjectName::MethodName");

(实例方法似乎只能使用选项1进行检查,将对象实例作为第一个数组值而不是包含类名的字符串传递.)

这只是一个偏好问题,还是句法糖,还是两者之间存在着明显的差异?

解决方法

它只是语法糖 – is_callable(“ObjectName :: MethodName”)看起来更好,但需要比数组方法更高的PHP版本.

但是,要创建实例方法的“指针”,必须使用数组($instance,’MethodName’).

从PHP docs:

// Type 4: Static class method call (As of PHP 5.2.3)
call_user_func('MyClass::myCallbackMethod');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读