我在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 ..."
。为什么会这样?
答案 0 :(得分:2)
如果您正在使用阵列" callable"语法,然后你需要使用call_user_func
。
if (is_callable($method)) {
return call_user_func($method);
}