函式名: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請求和返回資料的邏輯。