函式名: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請求到達並執行回撥函式。