我希望能够在尝试调用之前测试回调是否有效。这可能吗?
如果我使用call_user_func
来调用call_user_func_array
或array($this, 'methodThatDoesNotExist')
,请使用[E_WARNING] call_user_func() expects parameter 1 to be a valid callback
警告。
答案 0 :(得分:11)
您需要的是is_callable()
功能。
来自PHP Manual on is_callable():
验证变量的内容 可以称为函数。这个可以 检查一个简单的变量是否包含 有效函数的名称,或者 数组包含正确编码 对象和函数名称。
(它也适用于闭包)