使用swoole對事件處理函數和回調函數的理解

1.回調函數 閉包在類的內部調用

class client
{
    public function request($param1,$callfunc)
    {
        echo $param1.'<br/>';
        $c = 5;
        $d = 6;
        echo $callfunc($c,$d);//調用通過參數傳入的閉包函數
    }
}
$client = new client();
$a = 1;
$b = 2;//假如$a 和 $b是在其他地方返回的結果,我想在client的回函數內使用這個結果,通過閉包把參數傳入回調函數,在client內調用回調函數
$client->request('123', function($c,$d) use ($a,$b){
    return $c+$d+$a+$b;
});

2.php swoole 事件處理機制的理解

class Server
{
    public $events = [];

    public function on($event, $handle)
    {
        $this->events[$event] = $handle;
    }

    public function trigger($event, $handle)
    {
        call_user_func_array($this->events[$event],$handle);
    }
}

class client
{
    public function request($param1,$param2)
    {
        echo $param1.'-'.$param2;

    }
}
$server = new Server();
$client = new client();
$server->on('event',[$client, 'request']); //註冊一個事件上的響應回調函數
$server->trigger('event',['hello', 'swoole']);  //觸發一個事件

有問題進羣交流 721200119

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章