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