FFI::new

(PHP 7 >= 7.4.0, PHP 8)

FFI::newСоздаёт структуру данных C

Описание

public static FFI::new(FFI\CType|string $type, bool $owned = true, bool $persistent = false): ?FFI\CData
public FFI::new(FFI\CType|string $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 в случае возникновения ошибки.