Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

Модуль позволяет загружать общие(shared) библиотеки (.DLL или .so), вызывать C-функции и получать доступ с структурам языка C из PHP без необходимости глубоко изучать API модулей Zend и стороннего, "промежуточного" языка. Публичный API реализован как один единственный класс FFI с некоторым набором статических методов (некоторые из них могут вызываться динамически) и переопределенными методами объекта, что позволяет взаимодействовать с данными С.

Предостережение

Модуль FFI довольно опасен, поскольку позволяет взаимодействовать с системой на очень низком уровне. Модуль FFI должен использоваться только разработчиками, знакомыми с языком С и умеющими использовать его API. Для минимизации риска, модуль может быть запрещен директивой ffi.enable в php.ini.

Замечание:

Модуль FFI не делает классический API модулей PHP устаревшим; он предназначен для взаимодействия с функциями и структурами данных C.

Подсказка

Сейчас доступ к структурам данных FFI примерно в 2 раза медленнее чем доступ к объектам и массивам PHP. Таким образом, нет повода использовать FFI для ускорения; однако его можно использовать для сокращения потребляемой памяти.