(PHP 7 >= 7.4.0, PHP 8)
FFI::new — Создаёт структуру данных C
$type
, bool $owned
= true
, bool $persistent
= false
): ?FFI\CData
Создаёт нативную структуру данных заданного типа.
При статическом вызове данного метода необходимо использовать
только предопределённые имена типов С (такие как
int
, char
, и т.д.); при вызове как
метод объекта, допустим любой тип объявленный для него.
type
type
- корректная декларация типа С,
например, string или заранее созданный объект класса
FFI\CType.
owned
Создавать ли управляемые или неуправляемые данные. Управляемые данные живут в связке с возвращённым объектом FFI\CData и высвобождается когда стандартный подсчёт ссылок PHP или GC (сборщик мусора) освободят последнюю ссылку на этот объект. Неуправляемые данные необходимо высвобождать вручную с помощью FFI::free().
persistent
Располагать ли данные на постоянной основе к системной куче(heap) (используя malloc()), или в куче запроса PHP (используя emalloc()).
Возвращает новый объект FFI\CData
или null
в случае возникновения ошибки.