Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<FFI::castFFI::free>
^FFILast updated: Mon, 26 Oct 2026

FFI::cdef

(PHP 7 >= 7.4.0, PHP 8)

FFI::cdef — Creates a new FFI object

Description

public static function FFI::cdef(string $code = "", ?string $lib = null): FFI

Creates a new FFI object.

Parameters

code

A string containing a sequence of declarations in regular C language (types, structures, functions, variables, etc). Actually, this string may be copy-pasted from C header files.

Note:

C preprocessor directives are not supported, i.e. #include, #define and CPP macros do not work.

lib

The name of a shared library file, to be loaded and linked with the definitions.

Note:

If lib is omitted or null, platforms supporting RTLD_DEFAULT attempt to lookup symbols declared in code in the normal global scope. Other systems will fail to resolve these symbols.

Return Values

Returns the freshly created FFI object.

Changelog

Version Description
8.3.0 C functions returning void return a PHP null instead of FFI\CType::TYPE_VOID.
8.0.0 lib is nullable now.

<FFI::castFFI::free>
^FFILast updated: Mon, 26 Oct 2026