W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
此擴展允許在純 PHP 中加載共享庫(?.DLL
? 或 ?.so
?)、調(diào)用 C 函數(shù)、訪問 C 數(shù)據(jù)結(jié)構(gòu),而無需深入了解 Zend 擴展 API,也無需學(xué)習(xí)第三方“中間”語言。公共 API 是使用包含幾個靜態(tài)方法(有幾個可以動態(tài)調(diào)用)和對象重載方法(執(zhí)行與 C 數(shù)據(jù)的實際交互)的 FFI 類實現(xiàn)的。
警告
FFI 有危險,因為它允許在系統(tǒng)上進行底層交互。FFI 擴展應(yīng)該僅供有 C 和使用 C API 經(jīng)驗的開發(fā)者使用。為了最大限度降低風(fēng)險,ffi.enable ?php.ini
? 指令會限制 FFI API 的使用。
注意:FFI 擴展不會提供討厭的過時 PHP 擴展 API,它僅僅是提供了用于 C 函數(shù)和數(shù)據(jù)結(jié)構(gòu)的特殊接口。
小技巧
目前,訪問 FFI 數(shù)據(jù)結(jié)構(gòu)比訪問原生 PHP 數(shù)組和對象慢很多(大約 2 倍)。因此使用 FFI 擴展來提高速度沒有意義;減少內(nèi)存消耗可能有意義。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: