Cette extension permet de charger des bibliothèques partagées (.DLL ou .so), l'appel à des fonctions C et l'accès à des structures de données C à partir de PHP, sans avoir à connaître l'API d'extension Zend, et sans avoir à apprendre un troisième langage "intermédiaire". L'API publique est implémentée sous la forme d'une classe unique FFI avec plusieurs méthodes statiques (certaines d'entre elles peuvent être appelées dynamiquement), et des méthodes d'objet surchargées, qui effectuent l'interaction réelle avec les données C.
L'extension FFI est dangereuse, car elle permet de s'interfacer avec le système à un niveau très bas. Elle ne doit être utilisée que par des développeurs ayant une connaissance pratique du langage C et des API C utilisées. Pour minimiser les risques, l'utilisation de l'API FFI peut être restreinte avec la directive php.ini ffi.enable.
Note:
L'extension FFI ne rend pas obsolète l'API d'extension classique de PHP; elle est simplement fournie pour l'interfaçage ad-hoc avec des fonctions et des structures de données C.
Actuellement, l'accès aux structures de données FFI est significativement (environ 2 fois) plus lent que l'accès aux tableaux et objets natifs de PHP. Par conséquent, il n'est pas utile d'utiliser l'extension FFI pour la vitesse; cependant, il peut être judicieux de l'utiliser pour réduire la mémoire.