array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'ffi.new.php', 1 => 'FFI::new', ), 'up' => array ( 0 => 'class.ffi.php', 1 => 'FFI', ), 'prev' => array ( 0 => 'ffi.memset.php', 1 => 'FFI::memset', ), 'next' => array ( 0 => 'ffi.scope.php', 1 => 'FFI::scope', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/ffi/ffi/new.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 7 >= 7.4.0, PHP 8)
FFI::new — Создаёт структуру данных C
Метод создаёт собственную структуру данных заданного типа. Разрешён любой тип, который объявили для экземпляра.
type
type
— допустимое объявление типа С в виде строки (string)
или экземпляр класса FFI\CType,
которые создали заранее.
owned
Создавать ли управляемые или неуправляемые данные. Управляемые данные живут в связке с возвращённым объектом FFI\CData и высвобождаются, когда стандартный подсчёт ссылок PHP или сборщик мусора GC освободят последнюю ссылку на этот объект. Неуправляемые данные необходимо высвобождать вручную методом FFI::free().
persistent
Располагать ли структуру данных C в системной куче (heap) через функцию malloc() или в куче PHP-запроса через функцию emalloc().
Метод возвращает новый объект класса FFI\CData
или null
в случае возникновения ошибки.
Версия | Описание |
---|---|
8.3.0 | Статический вызов метода FFI::new() устарел. |