(PHP 7 >= 7.4.0, PHP 8)
Los objetos de esta clase son creados por los métodos de fábrica FFI::cdef(), FFI::load() o FFI::scope(). Las variables C definidas están disponibles como propiedades de la instancia FFI, y las funciones C definidas están disponibles como métodos de la instancia FFI. Los tipos C declarados pueden ser utilizados para crear nuevas estructuras de datos C utilizando FFI::new() y FFI::type().
El análisis de las definiciones FFI y la carga de las bibliotecas compartidas pueden llevar mucho tiempo. No es útil
hacerlo en cada solicitud HTTP en un entorno Web. Sin embargo, es posible precargar las definiciones FFI
y las bibliotecas al inicio de PHP, e instanciar los objetos FFI cuando sea necesario. Los archivos de encabezado
pueden ser extendidos con definiciones FFI_SCOPE
especiales (por ejemplo #define FFI_SCOPE "foo"
;
el ámbito por omisión es "C") y luego cargados por FFI::load() durante la precarga.
Esto conduce a la creación de una ligadura persistente, que estará disponible para todas las solicitudes siguientes
a través de FFI::scope().
Consulte el ejemplo completo PHP/FFI/preloading
para más detalles.
Es posible precargar más de un archivo de encabezado C en el mismo ámbito.