Foreign Function Interface (FFI)

Foreign Function Interface, also known as FFI allows loading external libraries, such as .DLL or .so, and access directly their function without writing a PHP extension.

<?php

    // Extracted from the PHP manual

    // create FFI object, loading libc and exporting function printf()
    $ffi = FFI::cdef(
        "int printf(const char *format, ...);", // this is a regular C declaration
        "libc.so.6");
    // call C's printf()
    $ffi->printf("Hello %s!\n", world);

?>

Documentation

See also Blazingly Fast Markdown Parsing in PHP using FFI and Rust, PHPun with FFI: Getting Rust-ic, BUILD GO CODE AND USE IT IN PHP CODEBASE and How to Use PHP FFI in Programming.

Related : Dynamic Loading, Extensions, Interoperability, Library, Native, Performance, Library Loading