FFI::cdef
创建一个新的FFI对象
FFI::cdef
PHP 7.4.0 及以上版本
FFI::cdef 是 PHP 7.4 引入的 FFI (Foreign Function Interface) 扩展中的一个方法。它用于定义C语言的函数原型或结构体、联合体等数据结构,以便 PHP 与C代码进行交互。通过此方法,PHP代码能够与C语言编写的库进行通信,并调用C语言函数。
FFI::cdef(string $cdef, string $header = ""): bool
此函数返回一个布尔值,表示定义是否成功。
假设我们要使用FFI调用一个C语言库的函数,这里以一个简单的C语言函数原型为例:
以下示例展示了如何通过FFI::cdef定义C语言中的简单函数,并通过FFI调用它。
<?php // 使用 FFI 扩展加载 C 语言库 $ffi = FFI::cdef( "int add(int a, int b);", // C 语言函数原型 "libmath.so" // 需要加载的 C 语言库 ); // 调用定义的 C 函数 $result = $ffi->add(5, 10); echo "The result is: " . $result . "\n"; // 输出 15 ?>
在这个示例中,我们定义了一个 C 函数 `add(int a, int b)`,并通过 FFI 调用它,传入两个整数 5 和 10,最终返回的结果是 15。