lsyf8 发表于 2017-4-9 10:14:04

PHP的is_callable和method_exists方法比较

  之前发过一篇关于is_callable的文章,主要是PHP手册的翻译,现在把is_callable和mehod_exists做一下比较,加深理解:
比较内容
method_exists
is_callable
调用形式
bool method_exists(mixed $object , string $method_name )
bool is_callable( callback $name [, bool $syntax_only = false [, string &$callable_name ]] )
适用范围
仅适用于判断类方法
可以判断全局函数,也可以判断类方法
是否有上下文

是,会判断一个函数是否在当前环境中可调用(例如在子类中判断能否调用父类构造函数)
是否判断权限

是,在类外,判断private和protected方法会返回false
是否调用__call方法


速度


 
页: [1]
查看完整版本: PHP的is_callable和method_exists方法比较