函式名:eio_init()
適用版本:PHP 7.2.0 或更高版本
函式描述:eio_init() 函式初始化非同步IO,建立一個非同步IO context。
用法:
eio_init([callable $callback = NULL [, mixed $data = NULL]])
引數:
- callback(可選):當非同步IO context 初始化完成之後,將呼叫此回撥函式。回撥函式接受引數:resource $io,resource $req,mixed $data(其中 $io 是一個非同步IO context 的標識,$req 是一個關聯到初始化請求的 resource 控制代碼,$data 是使用者自定義資料)。
- data(可選):傳遞給回撥函式的使用者自定義資料。
返回值:成功時返回 TRUE,失敗時返回 FALSE。
示例:
function initCallback($io, $req, $data) {
echo "async IO context initialization completed";
// 其他操作
eio_event_loop(); // 開始非同步IO事件迴圈
eio_free($io); // 釋放非同步IO context
}
eio_init('initCallback', 'custom_data');
上述示例中,透過呼叫 eio_init() 初始化了一個非同步IO context,並指定了 initCallback() 函式作為初始化完成後的回撥函式。同時還傳遞了自定義資料 'custom_data'。當非同步IO context 初始化完成後,會呼叫 initCallback() 函式,並將相應的引數傳遞給它。在回撥函式中可以執行其他非同步IO操作。然後透過呼叫 eio_event_loop() 繼續進行非同步IO事件迴圈,最後透過 eio_free() 釋放非同步IO context。