此擴充允許載入共享程式庫(.DLL 或 .so)、呼叫 C 函式以及在純 PHP 中存取 C 資料結構,而無需深入了解 Zend 擴充 API,也無需學習第三種「中間」語言。公開 API 以單個類別 FFI 的形式實作,其中包含數個靜態方法(其中一些可以動態呼叫)和多載物件方法,這些方法執行與 C 資料的實際互動。
FFI 十分危險,因為它允許在非常低的層級與系統互動。FFI 擴充模組應僅供具備 C 語言和所使用 C API 工作知識的開發人員使用。為了將風險降至最低,可以使用 ffi.enable php.ini 指令來限制 FFI API 的使用。
備註:
FFI 擴充模組並不會取代傳統的 PHP 擴充模組 API;它僅提供用於與 C 函數和資料結構進行臨時互動。
目前,存取 FFI 資料結構的速度明顯(約 2 倍)慢於存取原生 PHP 陣列和物件。因此,使用 FFI 擴充模組來提升速度沒有意義;但是,使用它來減少記憶體消耗可能是有意義的。