Полагаю, вы могли бы сделать это с помощью отражения, хотя это будет медленно .
Предполагается, что ваш обратный вызов $callback
:
if (is_array($callback)) { // a function will just be a string
$classname = $callback[0];
$methodname = $callback[1];
$method = new ReflectionMethod($classname, $methodname);
if ($method->isStatic()) {
// method is static
}
}
Обратите внимание, что не учитывает случаев, когда $callback[0]
является объектом, или если у вас есть лямбда-функция как $callback
, или, возможно, всевозможных различных обстоятельствах. Я не очень понимаю, что вы ищете; этого может быть достаточно.