(PHP 7 >= 7.4.0, PHP 8)
Объекты этого класса создаются фабричными методами FFI::cdef(), FFI::load() и FFI::scope(). Объявленные переменные языка C доступны как свойства экземпляра класса FFI, а функции как методы. Методы FFI::new() и FFI::type() принимают или возвращают объявленные типы языка C, когда создают структуры данных C.
Разбор объявлений FFI и загрузка разделяемой библиотеки
может занять значительное время. Не имеет смысла делать
это для каждого HTTP-запроса в Web-окружении. Тем не
менее можно перезагрузить объявления FFI и библиотеки
при старте PHP и инстанциировать объекты класса FFI по
необходимости. Заголовочные файлы могут быть расширены
специальными объявлениями FFI_SCOPE
(например, #define FFI_SCOPE "foo"
;
скоуп по умолчанию — «C») и загружены методом
FFI::load() во время предзагрузки.
Это приведёт к созданию постоянных привязок, которые
будут доступны для всех запросов через
метод FFI::scope().
Более подробно читайте на странице
Простые примеры использования класса FFI.
В один и тот же скоуп можно предзагрузить несколько заголовочных файлов.