PHP.mk документација

FFI::new

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

ffi.new.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека ffi.new.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
FFI::new

Референца за `ffi.new.php` со подобрена типографија и навигација.

ffi.new.php

FFI::new

(PHP 7 >= 7.4.0, PHP 8)

FFI::newCreates a C data structure

= NULL

public FFI::new(FFI\CType|string $type, bool $owned = true, bool $persistent = false): ?FFI\CData

Создава C структура на податоци

Параметри

type
type Создава нативна структура на податоци од дадениот C тип. Дозволен е кој било тип деклариран за инстанцата. string, или инстанца на FFI\CType што веќе е создаден.
owned
е валидна C декларација како FFI\CData Дали да се создадат поседувани (т.е. управувани) или неуправувани податоци. Управуваните податоци живеат заедно со вратените објект и се ослободуваат кога последната референца до тој објект ќе се ослободи со редовно броење на референци на PHP или GC. Неуправуваните податоци треба да се ослободат со повикувањеFFI::free()
persistent
, кога веќе не се потребни. malloc()Дали да се распредели C структурата на податоци трајно на системската меморија (користејќи emalloc()).

Вратени вредности

во нормалниот глобален опсег. Други системи нема да успеат да ги решат овие симболи. FFI\CData објект, или null при неуспех.

Дневник на промени

Верзија = NULL
8.3.0 Повикување ), или на меморијата на PHP барањето (користејќи статички сега е застарено.

Белешки од корисници 1 белешка

FFI::new()
пред 6 години
Let's assume we have a C struct:
typedef struct _Z3_ast *Z3_ast;

and we want to create an array: 
Z3_ast args[2];

and assign values:
args[1] = x;
args[1] = y;

The PHP FFI equivalent would be:
<?php
$ffi = FFI::cdef(...
// Create Z3_ast[2] type
$arg_type = FFI::arrayType($ffi->type('Z3_ast'), [2]);
// Create array of type Z3_ast[2]
$args = FFI::new($arg_type);
// Populate the array
$args[0] = $x;
$args[1] = $y;
?>
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.