Loads C declarations from a C header file

- « FFI::isNull

- FFI::memcmp »

- PHP Manual
- FFI
- Loads C declarations from a C header file

# FFI::load

(PHP 7 >= 7.4.0, PHP 8)

FFI::load — Loads C declarations from a C header file

### Description

public static FFI::load(string `$filename`): ?FFI

Loads C declarations from a C header file. It is possible to specify shared libraries that should be loaded, using special `FFI_LIB` defines in the loaded C header file.

### Parameters

`filename`

  The name of a C header file.

  C preprocessor directives are not supported, i.e. `#include`, `#define` and CPP macros do not work, except for special cases listed below.

  The header file should contain a `#define` statement for the `FFI_SCOPE` variable, e.g.: `#define FFI_SCOPE "MYLIB"`. Refer to the class introduction for details.

  The header file may contain a `#define` statement for the `FFI_LIB` variable to specify the library it exposes. If it is a system library only the file name is required, e.g.: `#define FFI_LIB "libc.so.6"`. If it is a custom library, a relative path is required, e.g.: `#define FFI_LIB "./mylib.so"`.

### Return Values

Returns the freshly created FFI object, or `null` on failure.

### See Also

- FFI::scope() - Instantiates an FFI object with C declarations parsed during preloading