(PECL ev >= 0.2.0)
Ev::recommendedBackends — 傳回目前平台建議的後端位元遮罩
返回此 `libev` 二進制檔中編譯且推薦用於此平台的所有後端集合,這意味著它適用於大多數檔案描述符類型。此集合通常小於 ev_supported_backends() 返回的集合,例如,`kqueue` 在大多數 `BSD` 系統上都有問題,除非明確請求,否則不會自動偵測到。這是 `libev` 在未明確指定後端的情況下會探測的後端集合。
此函數沒有參數。
返回一個位元遮罩,其中包含使用位元 _OR_ 運算子組合的後端旗標。
範例 #1 將一個事件迴圈嵌入另一個事件迴圈
<?php
/*
* 嘗試取得一個可嵌入的事件迴圈並將其嵌入預設事件迴圈中。
* 如果不可能,則使用預設
* 迴圈。預設迴圈儲存在 $loop_hi 中,而可嵌入迴圈儲存在
* $loop_lo 中(如果無法使用可嵌入迴圈,則 $loop_lo 與 $loop_hi 相同)。
*
* 範例翻譯成 PHP
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed = NULL;
/*
* 檢查是否有機會取得一個可用的
* (旗標值為 0 表示自動偵測)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
: 0;
if ($loop_lo) {
$embed = new EvEmbed($loop_lo, function () {});
} else {
$loop_lo = $loop_hi;
}
?>