小艾的自留地

Stay foolish, Stay hungry

最近在学习Swoole,顺手整理一下PHP 中的四种设置回调函数的方式。

匿名函数

1
2
3
4
<?php
$server->on("request", function($request, $respone){
echo "Http Server";
});

类静态函数

1
2
3
4
5
6
7
class A{
static function onConnect($server, $fd){
echo "UDP Server";
}
}
$server->on("connect", "A::onConnect");
$server->on("conncet", ["A", "onConnect"]);

函数

1
2
3
4
5
$server->on("connect", "callBack");

function callBack($server, $fd){
echo "Tcp Server";
}

对象方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 情景一
Class A{
public function __construct(){
$this->server->on("open", [$this, "onOpen"]);
}

public function onOpen($server, $request){
echo "WebSocket Server";
}

}
# 情景二
Class A{
function onOpen($request, $respone){
echo "WebSocket Server";
}
}
$obj = new A();
$server->on("open", [$obj, "onOpen"]);

评论