zendAPIZend Engine 的 C++ 封装
该项目是对 Zend Engine 的 C 接口使用 C++11 进行而面向对象的封装,从而屏蔽了底层 Zend Engine API 的接口复杂性,加快开发 PHP 扩展的效率。
项目官网地址:www.zendapi.org
设计目标
让 PHP 扩展开发更有趣
你是否在开发扩展的时候遇到想使用PHP的一个接口,但是就是苦于不知道在哪里定义,就算找到了在哪里定义看到的定义是否让你抓狂,各种指针,各种宏定义 让你的生活变得不美好,哈哈,是时候尝试 zendAPI 啦,我们让你无忧无虑的调用底层的 Zend Engine API, 安装语义对一维的 C API 进行二次组织,精心的 设计每一个接口,并且提供关于接口的详细文档与使用范例,还等什么,赶快到碗里来吧。
特性
-
完全面向对象,对 Zend Engine API 进行二次定义
-
使用现代的 C++11 语法进行开发,便于维护
-
最大化屏蔽 PHP 版本对扩展开发的影响,zendAPI 将对 Zend Engine API 不同版本带来的差异屏蔽掉
-
高覆盖的单元测试,保证代码质量
-
在封装的时候,尽最大能力保证性能
文档相关
用户手册: www.zendapi.org/manual
API手册: www.zendapi.org/api
说明
当前 zendAPI 项目处于非常前期阶段,很多接口都不稳定,甚至会经常有大的变化,请不要用于实际项目,现阶段只适合学习用途。 项目参考
-
PHP-CPP 进行实现,大家要是对PHP-CPP感兴趣,请点击 https://github.com/CopernicaMarketingSoftware/PHP-CPP
-
Qt project 在底层数据结构的接口上借鉴Qt core相关设计,如果您对 Qt 感兴趣,请点击:http://doc.qt.io/
声明:
zendAPI 项目第一版中有些部分跟 PHP-CPP 将会高度一样,文件头也会加上 PHP-CPP 信息,一旦完成后 项目将会独立发展,当然适当的时机 我也会将代码反馈给 PHP-CPP 项目。
简单入门
项目环境要求
暂时只支持 linux 服务器环境,PHP 版本7.0以上,标准 C++11 编译器, cmake 3.5.0以上版本