查詢

EventHttp::bind()函式—用法及示例

「 將一個回撥函式繫結到一個HTTP伺服器上的指定的URI路徑上 」


函式名稱: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!"。

補充糾錯
熱門PHP函式
分享連結