zendAPI

Zend Engine 的 C++ 封装 zendAPI

Apache-2.0
C/C++ PHP 查看源码»
Linux
360
2017-09-08
zendapi

该项目是对 Zend Engine 的 C 接口使用 C++11 进行而面向对象的封装,从而屏蔽了底层 Zend Engine API 的接口复杂性,加快开发 PHP 扩展的效率。

项目官网地址:www.zendapi.org

设计目标

让 PHP 扩展开发更有趣

你是否在开发扩展的时候遇到想使用PHP的一个接口,但是就是苦于不知道在哪里定义,就算找到了在哪里定义看到的定义是否让你抓狂,各种指针,各种宏定义 让你的生活变得不美好,哈哈,是时候尝试 zendAPI 啦,我们让你无忧无虑的调用底层的 Zend Engine API, 安装语义对一维的 C API 进行二次组织,精心的 设计每一个接口,并且提供关于接口的详细文档与使用范例,还等什么,赶快到碗里来吧。

特性

  1. 完全面向对象,对 Zend Engine API 进行二次定义

  2. 使用现代的 C++11 语法进行开发,便于维护

  3. 最大化屏蔽 PHP 版本对扩展开发的影响,zendAPI 将对 Zend Engine API 不同版本带来的差异屏蔽掉

  4. 高覆盖的单元测试,保证代码质量

  5. 在封装的时候,尽最大能力保证性能

文档相关

用户手册: www.zendapi.org/manual
API手册: www.zendapi.org/api

说明

当前 zendAPI 项目处于非常前期阶段,很多接口都不稳定,甚至会经常有大的变化,请不要用于实际项目,现阶段只适合学习用途。 项目参考

  1. PHP-CPP 进行实现,大家要是对PHP-CPP感兴趣,请点击 https://github.com/CopernicaMarketingSoftware/PHP-CPP

  2. 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以上版本

的码云指数为
超过 的项目
加载中
此软件有 6 条评论,请先登录后再查看。

暂无资讯

暂无问答

php ZEND_API

//configure.in文件 AH_TOP([ #if defined(__GNUC__) && __GNUC__ >= 4 # define ZEND_API __attribute__ ((visibility("default"))) # define ZEND_DLEXPORT __attribute__ ((visibility("d...

2013/08/09 14:58
78
0
polarphp 0.0.1 alpha 发布:全新 PHP 运行时环境

polarphp 项目介绍 polarphp 是一个全新的 PHP 语言的运行时环境,基于目前最新的 zend virtual machine 进行打造,支持最新的语言规范,同时提供了自己的运行时标准库 (libpdk)。 简单来说 ...

2019/04/28 09:49
0
0
使用5种编程语言开发PHP扩展

1. 使用C语言开发 介绍参考链接:http://blog.csdn.net/heiyeshuwu/article/details/44267021 https://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/ 2. 使...

2017/11/10 09:52
312
0
[php-src] Php扩展开发的琐碎注意点、细节

内容均以php-5.6.14为例. 函数中接收的字符串参数长度不包含结尾的0,在 zend_update_property 中,长度的参数是 int len,一般都使用 ZEND_STRL(NAME)自动填充字符串和长度,它的长度实现是...

05/15 07:44
33
0
php扩展开发-数组处理(二)

上篇文章主要介绍了一维数组的处理方法,使用ZEND API结合递归算法遍历处理多维数组也不是什么难事。处理多维数组首先要了解一下ZEND API: MAKE_STD_ZVAL();//注册zval变量 SEPARATE_ZVAL_...

2013/10/17 17:32
362
0
PHP内核之旅-1.生命周期

PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 PHP内核之旅-4.字符串 PHP内核之旅-5.强大的数组 PHP内核之旅-6.垃圾回收机制 1.SAPI接口 PHP具体应...

2018/04/23 21:10
5
0
PHP代码的解析过程

城边编程 phplog 读完需要 8 分钟 速读仅需4分钟 又有一周没更新了,也没人催更,决定主动更新一篇。 这段时间国家开始推行『区块链』,央行也即将发行数字货币DCEP(Digital Currency Elec...

2019/11/08 08:55
0
0
PHP代码的解析过程

城边编程 phplog 读完需要 8 分钟 速读仅需4分钟 又有一周没更新了,也没人催更,决定主动更新一篇。 这段时间国家开始推行『区块链』,央行也即将发行数字货币DCEP(Digital Currency Elec...

2019/11/01 08:50
0
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部