PHP编译器BPC 6.5发布,支持gmp扩展,实现SplObjectStorage
BPC 是一个 PHP Native Compiler, 可以将 PHP 源码最终转译成 C 语言,然后编译成动态链接库或可执行程序.
BPC 还内置软件授权机制,最终可实现源码保护、软件授权、二进制打包三合一!
彻底解决 PHP 项目的交付问题.
- 官网 bpc.dev
- 安装使用文档
- Try BPC with Docker
- Run BPC Compiled Program with Docker
- BPC 编译入门示例: Tiny File Manager
BPC 6.5 主要有两项改进:
1. 支持 gmp 扩展,支持 Object 运算符重载#
gmp 扩展在第一个层面是 GNU MP library 的简单封装.
另一个层面是借由 gmp 扩展,BPC Runtime 支持了 PHP Object 的 do_operation
handler, 这也意味着不只 GMP 扩展,以后其它扩展如果有需要,都可以轻松 实现运算符重载 , BPC 和 PHP 的兼容性又进了一步.
什么是运算符重载?
$a = gmp_init(42);
$b = gmp_init(17); // $a $b 都是 GMP Object
var_dump($a + $b);
var_dump($a & $b);
var_dump($a << $b); // Object可以直接进行加减乘除,取余,位运算等操作,无需调用扩展函数
2. 实现 SplObjectStorage#
BPC 6.5 实现了 SplObjectStorage 的常见用法,之前编译 webman-framework 时对 src/Context.php 临时性 hack 已经 rollback 了.
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: