(PHP 7 >= 7.4.0, PHP 8)
FFI::new — Creates a C data structure
$type
, bool $owned
= true
, bool $persistent
= false
): ?FFI\CData$type
, bool $owned
= true
, bool $persistent
= false
): ?FFI\CData
Creates a native data structure of the given C type.
If this method is called statically, it must only use predefined C type names (e.g.
int
, char
, etc.); if the method is called as
instance method, any type declared for the instance is allowed.
type
type
is a valid C declaration as string, or an
instance of FFI\CType which has already been created.
owned
Whether to create owned (i.e. managed) or unmanaged data. Managed data lives together with the returned FFI\CData object, and is released when the last reference to that object is released by regular PHP reference counting or GC. Unmanaged data should be released by calling FFI::free(), when no longer needed.
persistent
Whether to allocate the C data structure permanently on the system heap (using malloc()), or on the PHP request heap (using emalloc()).
Returns the freshly created FFI\CData object,
or null
on failure.