PHP is_callable()
作用:
检测函数或类的方法在当前环境中是否可调用
PHP 版本要求:PHP 4 >= 4.0.6, PHP 5, PHP 7
语法:
bool is_callable ( callable $name [, bool $syntax_only = false [, string &$callable_name ]] )
- $name:要检查的回调函数。
- $syntax_only:如果设置为 TRUE,这个函数仅仅验证 name 可能是函数或方法。 它仅仅拒绝非字符,或者未包含能用于回调函数的有效结构。有效的应该包含两个元素,第一个是一个对象或者字符,第二个元素是个字符。
- $callable_name:接收"可调用的名称",详细理解见代码
用法:
1. 检测函数
// 1.检测函数 function someFunction() { } $functionVariable = 'someFunction'; var_dump(is_callable($functionVariable, false, $callable_name)); // bool(true) echo $callable_name, "\n"; // someFunction
2. 检测类中方法
1 // 2.检测类中的方法 2 class someClass 3 { 4 function someMethod() 5 { 6 } 7 } 8 9 $anObject = new someClass(); 10 11 $methodVariable = array($anObject, 'someMethod'); 12 13 var_dump(is_callable($methodVariable, true, $callable_name)); // bool(true) 14 15 echo $callable_name, "\n"; // someClass::someMethod,注意:这样写只是表示someClass类中的someMethod方法,并不是说someMethod是静态方法