PHP8 簡(jiǎn)介

2023-09-01 11:28 更新

此擴(kuò)展允許在純 PHP 中加載共享庫(kù)(?.DLL? 或 ?.so?)、調(diào)用 C 函數(shù)、訪問(wèn) C 數(shù)據(jù)結(jié)構(gòu),而無(wú)需深入了解 Zend 擴(kuò)展 API,也無(wú)需學(xué)習(xí)第三方“中間”語(yǔ)言。公共 API 是使用包含幾個(gè)靜態(tài)方法(有幾個(gè)可以動(dòng)態(tài)調(diào)用)和對(duì)象重載方法(執(zhí)行與 C 數(shù)據(jù)的實(shí)際交互)的 FFI 類實(shí)現(xiàn)的。

警告
FFI 有危險(xiǎn),因?yàn)樗试S在系統(tǒng)上進(jìn)行底層交互。FFI 擴(kuò)展應(yīng)該僅供有 C 和使用 C API 經(jīng)驗(yàn)的開(kāi)發(fā)者使用。為了最大限度降低風(fēng)險(xiǎn),ffi.enable ?php.ini? 指令會(huì)限制 FFI API 的使用。
注意:FFI 擴(kuò)展不會(huì)提供討厭的過(guò)時(shí) PHP 擴(kuò)展 API,它僅僅是提供了用于 C 函數(shù)和數(shù)據(jù)結(jié)構(gòu)的特殊接口。
小技巧
目前,訪問(wèn) FFI 數(shù)據(jù)結(jié)構(gòu)比訪問(wèn)原生 PHP 數(shù)組和對(duì)象慢很多(大約 2 倍)。因此使用 FFI 擴(kuò)展來(lái)提高速度沒(méi)有意義;減少內(nèi)存消耗可能有意義。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)