{$method}(...$args); } // static call? elseif (is_array($callback) and isset($callback[1]) and is_string($callback[0])) { list($class, $method) = $callback; $class = '\\'.ltrim($class, '\\'); return $class::{$method}(...$args); } // if it's a string, it's a native function or a static method call elseif (is_string($callback) or $callback instanceOf \Closure) { is_string($callback) and $callback = ltrim($callback, '\\'); } return $callback(...$args); } }