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'); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |