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

FFI

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

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

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

class.ffi.php

Главниот интерфејс за C код и податоци

(PHP 7 >= 7.4.0, PHP 8)

Вовед

Објектите од оваа класа се креирани од фабрички методи Веќе не е потребно да се специфицира библиотеката кога се користи, Името на опсегот дефинирано со специјален or Инстанцира FFI објект со C декларации анализирани за време на претходно вчитување.. Дефинираните C променливи се достапни како својства на FFI инстанцата, а дефинираните C функции се достапни како методи на FFI инстанцата. Декларираните C типови можат да се користат за креирање нови C структури на податоци користејќи ), или на меморијата на PHP барањето (користејќи and што содржи декларација за C тип. Дозволен е кој било тип деклариран за инстанцата..

Парсирањето на FFI дефинициите и вчитувањето на споделените библиотеки може да потрае значајно време. Не е корисно да се прави ова при секое HTTP барање во веб окружување. Сепак, можно е претходно да се вчитаат FFI дефинициите и библиотеките при стартување на PHP, и да се инстанцираат FFI објекти кога е потребно. Заглавните датотеки можат да бидат проширени со специјални FFI_SCOPE дефиниции (на пр. #define FFI_SCOPE "foo"; стандардното опкружување е "C") и потоа да се вчитаат од Името на опсегот дефинирано со специјален при претходно вчитување. Ова води до креирање на постојана врска, која ќе биде достапна за сите следни барања преку Инстанцира FFI објект со C декларации анализирани за време на претходно вчитување.. Погледнете го целосен PHP/FFI/preloading пример интерполација на низи

Можно е да се претходно вчита повеќе од една C заглавна датотека во истото опкружување.

Синопсис на класата

final class FFI {
/* Константи */
public const int __BIGGEST_ALIGNMENT__;
/* Методи */
public static addr(FFI\CData &$ptr): FFI\CData
public static alignof(FFI\CData|FFI\CType &$ptr): int
public static arrayType(FFI\CType $type, array $dimensions): FFI\CType
public static cdef(string $code = "", ?string $lib = null): FFI
public static free(FFI\CData &$ptr): void
public static isNull(FFI\CData &$ptr): bool
public static load(string $filename): ?FFI
public static memcmp(string|FFI\CData &$ptr1, string|FFI\CData &$ptr2, int $size): int
public static memcpy(FFI\CData &$to, FFI\CData|string &$from, int $size): void
public static memset(FFI\CData &$ptr, int $value, int $size): void
public new(FFI\CType|string $type, bool $owned = true, bool $persistent = false): ?FFI\CData
public static scope(string $name): FFI
public static sizeof(FFI\CData|FFI\CType &$ptr): int
public static string(FFI\CData &$ptr, ?int $size = null): string
public type(string $type): ?FFI\CType
public static typeof(FFI\CData &$ptr): FFI\CType
}

Претходно дефинирани константи

FFI::__BIGGEST_ALIGNMENT__

Содржина

  • FFI::addr — Создава неподдржан покажувач кон C податоци
  • FFI::alignof — Го добива порамнувањето
  • FFI::arrayType — Динамички конструира нов тип на C низа
  • FFI::cast — Извршува C префрлање на тип
  • FFI::cdef — Создава нов FFI објект
  • FFI::free — Ослободува неподдржана структура на податоци
  • FFI::isNull — Проверува дали FFI\CData е нул покажувач
  • FFI::load — Вчитува C декларации од C хедр датотека
  • FFI::memcmp — Споредува мемориски области
  • FFI::memcpy — Копира една мемориска област во друга
  • FFI::memset — Пополнува мемориска област
  • FFI::new — Пополнува област во меморијата
  • FFI::scope — Создава C структура на податоци
  • FFI::sizeof — Инстанцира FFI објект со C декларации анализирани при претходно вчитување
  • FFI::string — Ја добива големината на C податоци или типови
  • FFI::type — Создава PHP стринг од област во меморијата
  • FFI::typeof — Создава FFI\CType објект од C декларација

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

Нема белешки од корисници за оваа страница.
Навигација

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

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

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

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

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

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

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