think\App::invokeFunction PHP Method

invokeFunction() public static method

执行函数或者闭包方法 支持参数调用
public static invokeFunction ( string | array | Closure $function, array $vars = [] ) : mixed
$function string | array | Closure 函数或者闭包
$vars array 变量
return mixed
    public static function invokeFunction($function, $vars = [])
    {
        $reflect = new \ReflectionFunction($function);
        $args = self::bindParams($reflect, $vars);
        // 记录执行信息
        self::$debug && Log::record('[ RUN ] ' . $reflect->__toString(), 'info');
        return $reflect->invokeArgs($args);
    }

Usage Example

Example #1
0
 public function testInvokeFunction()
 {
     $args1 = ['a b c '];
     $this->assertEquals(trim($args1[0]), App::invokeFunction('tests\\thinkphp\\library\\think\\func_trim', $args1));
     $args2 = ['abcdefg', 'g'];
     $this->assertEquals(strpos($args2[0], $args2[1]), App::invokeFunction('tests\\thinkphp\\library\\think\\func_strpos', $args2));
 }