(PHP 7 >= 7.4.0, PHP 8)
Les objets de cette classe sont créés par les méthodes de fabrique FFI::cdef(), FFI::load() ou FFI::scope(). Les variables C définies sont disponibles en tant que propriétés de l'instance FFI, et les fonctions C définies sont disponibles comme méthodes de l'instance FFI. Les types C déclarés peuvent être utilisés pour créer de nouvelles structures de données C en utilisant FFI::new() et FFI::type().
L'analyse des définitions FFI et le chargement des bibliothèques partagées peuvent prendre beaucoup de temps. Il n'est pas utile
de le faire à chaque requête HTTP dans un environnement Web. Cependant, il est possible de précharger les définitions FFI
et les bibliothèques au démarrage de PHP, et d'instancier les objets FFI lorsque c'est nécessaire. Les fichiers d'en-tête
peuvent être étendus avec des définitions FFI_SCOPE
spéciales (par exemple #define FFI_SCOPE "foo"
;
la portée par défaut est "C") et ensuite chargés par FFI::load() pendant le préchargement.
Cela conduit à la création d'une liaison persistante, qui sera disponible pour toutes les requêtes suivantes
par l'intermédiaire de FFI::scope().
Reportez-vous à l'exemple complet PHP/FFI/preloading
pour plus de détails.
Il est possible de précharger plus d'un fichier d'en-tête C dans la même portée.