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是静态方法

 

posted @ 2021-01-02 23:46  九鹤  阅读(89)  评论(0编辑  收藏  举报