查詢

EventHttpRequest::sendReplyStart()函式—用法及示例

「 傳送一個HTTP響應的起始行 」


函式名:EventHttpRequest::sendReplyStart()

適用版本:Event擴充套件版本 >= 1.10.0

用法:EventHttpRequest::sendReplyStart() 方法用於傳送一個HTTP響應的起始行。該方法必須與EventHttpRequest::sendReplyChunk() 和 EventHttpRequest::sendReplyEnd() 方法一起使用。

語法:

bool EventHttpRequest::sendReplyStart(int $code, string|array $reason_phrase = null)

引數:

  • $code: HTTP響應狀態碼,整數型別。
  • $reason_phrase: HTTP響應狀態短語,字串型別,可選引數。

返回值:成功傳送HTTP響應起始行時返回true,失敗時返回false。

示例: 以下示例展示瞭如何使用EventHttpRequest::sendReplyStart() 方法傳送一個HTTP響應起始行。

// 建立一個新的EventHttpRequest物件
$base = new EventBase();
$event = new Event($base, SIGINT, Event::SIGNAL | Event::PERSIST, 'signal_handler');
$event->add();

$http = new EventHttp($base);
$http->setCallback('/test', 'request_handler');
$http->bind('127.0.0.1', 8080);
$http->setDefaultCallback('default_request_handler');
$base->loop();

// 處理HTTP 請求
function request_handler($request, $base) {
    // 傳送HTTP響應的起始行
    if ($request->getCommand() == EventHttpRequest::CMD_GET) {
        $response_code = 200;
        $response_reason = "OK";
        $request->sendReplyStart($response_code, $response_reason);
        
        // 傳送響應的內容
        $content = "Hello, World!\n";
        $request->sendReplyChunk($content);
        
        // 結束HTTP響應
        $request->sendReplyEnd();
    }
    
    // 其他處理邏輯...
}

在上面的示例中,我們先建立了一個EventHttpRequest物件,然後使用EventHttp繫結了一個回撥函式request_handler(),這個函式用於處理HTTP請求。在request_handler()函式中,我們使用EventHttpRequest::sendReplyStart()方法傳送了一個HTTP響應起始行,然後使用EventHttpRequest::sendReplyChunk()方法傳送了響應的內容,最後使用EventHttpRequest::sendReplyEnd()方法結束了HTTP響應。

請注意,以上示例僅是演示了EventHttpRequest::sendReplyStart()方法的用法,實際應用中可能還需要處理更多的HTTP請求和返回資料的邏輯。

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