查詢

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

「 設定一個回撥函式,該函式將在請求到達伺服器時被呼叫 」


函式名:EventHttp::setCallback()

適用版本:libevent 0.1.0 或更高版本

用法:EventHttp::setCallback() 方法用於設定一個回撥函式,該函式將在請求到達伺服器時被呼叫。在該回撥函式中,您可以處理HTTP請求並生成相應的HTTP響應。

示例:

// 建立一個EventHttp物件
$http = new EventHttp();

// 定義回撥函式
$callback = function($req, $data) {
    // 處理HTTP請求
    // 在這裡可以訪問請求頭、請求方法、請求URI等資訊並根據需要生成相應的HTTP響應
    
    // 示例:返回一個簡單的HTML頁面
    $response = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n";
    $response .= "<html><body><h1>Hello, World!</h1></body></html>";
    
    // 將響應傳送回客戶端
    event_buffer_write($data, $response);
};

// 將回撥函式繫結到EventHttp物件
$http->setCallback($callback, $event_base, $data);

// 開始事件迴圈
event_base_loop($event_base);

在上述示例中,我們首先建立一個EventHttp物件 $http。接下來,我們定義了一個匿名函式作為回撥函式,該函式接受兩個引數: $req 表示HTTP請求物件, $data 表示事件緩衝物件。在回撥函式中,您可以透過 $req 訪問請求的各種資訊,並根據需要生成響應。最後,我們透過呼叫 $http 物件的 setCallback() 方法將回撥函式繫結到 $http 物件,並傳入事件基礎和事件緩衝物件。最後,透過呼叫 event_base_loop() 函式開始事件迴圈,等待HTTP請求到達並執行回撥函式。

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