PHP 7.4的FFI将更好支持使用C函数/数据结构

2022-12-23 0 1,174

将要在下年底正式发布的 PHP 7.4 将会导入两个有意思的新机能,那是翘首以盼的对 FFI(内部表达式USB,Foreign Function Interface)的全力支持。此机能使开发人员能在原生植物 PHP 标识符中初始化 C 表述的表达式/表达式/计算机流程。

PHP 7.4的FFI将更好支持使用C函数/数据结构

FFI 与预读取机能都将是 PHP 7.4 的关键新机能,FFI 还进一步增强了 PHP FPM systemd 服务项目、用作 OpenSSL 流的 TLS 1.3 和很多其它更动。PHP 7.4 的 FFI 即使可与其它词汇的 FFI 同时实现媲美。

采用 PHP FFI 假如能增加为 C 库/流程USB编写新 PHP 组件的市场需求,即使那时能采用内部表达式USB来顺利完成了。假如你对 PHP 7.4 FFI 的实例标识符深感疑惑,负责管理 Fedora/RedHat 的 PHP 装箱流程技师 Remi Collet 编写了一则捷伊网志该文,当中简述了许多暗含实例标识符的示例。

上面节录两个单纯的范例:

Redis 应用流程

现阶段存有采用 C 或 PHP 编写的 Redis 应用流程的各式各样同时实现,此实例模拟了采用 FFI 来出访 hiredis 库的表达式。

表述库,从库的子流程 hiredis/hredis.h 和 hiredis/read.h 复制/粘贴:preload-redis.h

对须要预读取的 RemiRedis 类展开表述:preload-redis.inc

采用这类的试验JAVA:redis.php

输入全文

$ php74 -d ffi.preload=preload-redis.h -d opcache.preload=preload-redis.inc redis.php … + RemiRedis::__construct(localhost, 6379) + RemiRedis::initFFI() + RemiRedis::del(foo) int(1) + RemiRedis::get(foo) NULL + RemiRedis::set(foo, 2019/10/23 12:45:03) string(2) “OK” + RemiRedis::get(foo) string(19) “2019/10/23 12:45:03” + RemiRedis::__destruct

假如希望了解有关 PHP 7.4 FFI 的更多信息,能查看 PHP.net 上的文档及其基本实例。在正式发布 PHP 7.4 GA 前估计会经历多个 RC 版本,GA 预计将在 11 月 28 日左右正式发布。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务