函数名:Swoole\Coroutine::call_user_func()
适用版本:Swoole v4.6.0以上
用法:Swoole\Coroutine::call_user_func()函数用于在Swoole协程中调用一个普通的PHP回调函数或方法。它与PHP原生的call_user_func()函数类似,但是可以在Swoole协程环境中使用。
语法:
mixed Swoole\Coroutine::call_user_func(callable $callback [, mixed $...$parameters])
参数:
返回值:
示例:
<?php
use Swoole\Coroutine;
function testFunc($param1, $param2) {
return $param1 + $param2;
}
Coroutine\run(function() {
$result = Coroutine::call_user_func('testFunc', 2, 3);
echo $result; // 输出:5
});
在上面的示例中,我们定义了一个名为testFunc()的普通PHP函数,它接受两个参数并返回它们的和。然后,在Swoole协程环境中,我们使用Swoole\Coroutine::call_user_func()函数调用了testFunc()函数,并传递了参数2和3。最后,我们打印出了回调函数的返回值,即5。
需要注意的是,Swoole\Coroutine::call_user_func()函数只能在Swoole协程环境中使用。如果在非协程环境中调用,将会抛出异常。另外,回调函数的参数可以是任意类型,包括对象、数组等。