is_callable返回true但仍无法调用函数

时间:2014-12-03 20:23:38

标签: php

我在php 5.3.28上,我试图像这样调用一个函数:

...
$controller = new \Controller\Main();
$method = array($controller, $route . 'Action');

if (is_callable($method)) {
    return $method();
}
...

is_callable返回true,但实际的方法调用会导致此错误:"Function name must be a string in ..."。为什么会这样?

1 个答案:

答案 0 :(得分:2)

如果您正在使用阵列" callable"语法,然后你需要使用call_user_func

if (is_callable($method)) {
    return call_user_func($method);
}