(PHP 7 >= 7.4.0, PHP 8)
此類別的物件是由工廠方法 FFI::cdef()、 FFI::load() 或 FFI::scope() 建立的。已定義的 C 變數會以 FFI 實例的屬性提供,而已定義的 C 函式則會以 FFI 實例的方法提供。已宣告的 C 型別可以使用 FFI::new() 和 FFI::type() 來建立新的 C 資料結構。
FFI 定義解析與共用程式庫載入可能需要相當長的時間。在 Web 環境中,在每個 HTTP 請求上執行此操作並非明智之舉。然而,可以在 PHP 啟動時預先載入 FFI 定義和程式庫,並在必要時實例化 FFI 物件。標頭檔可以使用特殊的 FFI_SCOPE
定義(例如 #define FFI_SCOPE "foo"
;預設範圍為 "C")來擴充,然後在預載入期間由 FFI::load() 載入。這會導致建立持久繫結,該繫結將透過 FFI::scope() 提供給所有後續請求。請參閱 完整的 PHP/FFI/預載範例以瞭解詳細資訊。
可以將多個 C 標頭檔預載入到同一個範圍中。