Модуль умеет загружать общие библиотеки (.DLL или .so), вызывать C-функции и получать доступ с структурам языка C из PHP без глубокого изучения API модулей Zend и стороннего «промежуточного» языка. Публичный API реализовали как единственный класс FFI с набором статических методов (часть методов вызывается динамически) и переопределёнными методами объекта, которые фактически взаимодействуют с данными языка C.
Модуль FFI довольно опасен, поскольку разрешает взаимодействовать с системой на низком уровне. С модулем FFI должны работать только те разработчики, которые знакомы с языком С и умеют работать с API языка. Чтобы уменьшить риски, модуль запрещают директивой ffi.enable в файле php.ini.
Замечание:
Модуль FFI не делает классический API модулей PHP устаревшим; модуль разработали для взаимодействия с функциями и структурами данных языка C.
Доступ к структурам данных модуля FFI примерно в 2 раза медленнее, чем доступ к объектам и массивам PHP. Поэтому нет повода использовать FFI для ускорения; однако с модулем работают, чтобы сократить потребление памяти.