函式名稱:EventHttp::bind()
適用版本:Event擴充套件版本 > 1.2.0 (PECL event >= 1.2.0)
函式說明: EventHttp::bind() 方法用於將一個回撥函式繫結到一個HTTP伺服器上的指定的URI路徑上。當客戶端請求匹配繫結的路徑時,伺服器將呼叫繫結的回撥函式。
用法: bool EventHttp::bind ( string $path , callable $callback [, mixed $arg ] )
引數:
- $path:指定要繫結的URI路徑。可以是具體的路徑,也可以包含萬用字元 "",例如"/info"或"/users/"。
- $callback:要繫結的回撥函式,可以是一個可呼叫的函式(如匿名函式)或指定了類和方法的陣列。
- $arg:可選引數,將作為回撥函式的引數傳遞。
返回值: 成功時返回TRUE,失敗時返回FALSE。
示例: 以下示例展示瞭如何使用EventHttp::bind()方法將回撥函式繫結到HTTP伺服器的指定路徑上:
// 建立一個EventBase物件 $base = new EventBase();
// 建立一個EventHttp物件並指定EventBase物件 $http = new EventHttp($base);
// 設定HTTP伺服器繫結的IP地址和埠號 $http->bind("127.0.0.1", 8080);
// 建立回撥函式,處理客戶端請求 $callback = function($req, $data) { // 從請求中獲取URI路徑 $uri = $req->getUri();
// 根據URI路徑處理不同的請求
if ($uri === '/info') {
$response = "Welcome to the info page!";
} else {
$response = "Page not found!";
}
// 傳送響應給客戶端
$req->sendReply(200, "OK", $response);
};
// 繫結回撥函式到指定路徑上 $http->bind("/info", $callback);
// 啟動事件迴圈 $base->loop();
上述示例程式碼建立了一個基本的EventHttp伺服器,並將其繫結到本地IP地址的8080埠。透過呼叫EventHttp::bind()方法,將回撥函式繫結到路徑 "/info" 上。當客戶端透過訪問"http://127.0.0.1:8080/info"時,伺服器將傳送響應 "Welcome to the info page!" 給客戶端。其他路徑將返回 "Page not found!"。