• Stars
    star
    183
  • Rank 210,154 (Top 5 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created about 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The C++ wrapper of zend engine

zendAPI 是什么?

zendAPI 是对 Zend Engine 的 C 接口使用 C++ 的最新标准 C++11 进行而面向对象的封装,从而屏蔽了底层 Zend Engine API 的接口复杂性,加快开发 PHP 扩展的效率。从而让 PHP 的扩展开发成为一种享受,不用在考虑不同 PHP 版本带来的差异性,让开发者专注于自身的业务逻辑。

What is zendAPI project

zendAPI is a project to wrapper the C API of Zend Engine into object oriented programming interface that implement with modern C++11 programming language. The zendAPI project provide php extension developer with a simple, rubust and OOP style API, so developer don't need learn the ugly and complex raw Zend Engine API, thereby let the php extension development become a simple and rapid task.

zendAPI 的使命

让 PHP 的扩展开发成为一种享受

The mission of zendAPI project

let PHP extension development become a kind of enjoyment!

为什么项目名叫做 zendAPI

考虑到项目本身就是对 PHP 语言引擎的开发接口的封装已经 PHP 的语言引擎叫做 Zend Engine,为了方便大家记住我便将项目命名为 zendAPI,官方网站使用 zendapi.org

Why I named the project zendAPI

The main goal of the project is to wrap PHP's raw C API into C++ OOP API, because of the virtual machine of PHP language called Zend Engine and our project is an OOP API on Zend Engine, so I give the name zendAPI to this project, the official website is http://www.zendapi.org

zendAPI 的特性

  1. 完全面向对象,对 Zend Engine API 进行二次定义
  2. 使用现代的 C++11 语法进行开发,便于维护
  3. 最大化屏蔽 PHP 版本对扩展开发的影响,zendAPI 将对 Zend Engine API 不同版本带来的差异屏蔽掉
  4. 高覆盖的单元测试,保证代码质量
  5. 在封装的时候,尽最大能力保证性能
  6. 致力于项目库的二进制兼容

Features

  1. regroup the raw PHP C API according OOP style
  2. using modern C++11 standard
  3. support all the versions above PHP 7.0
  4. well tested by runtime tests and unittests
  5. high performance
  6. efforts to provide binary compatible

项目说明

为了减少研发精力,在决定开发 zendAPI 的时候,在设计思想上我们参考了国外的同类项目 PHPCPP,非常感谢这个团队将这么卓越的项目带给了 PHP 社区,我们在这里表示感谢,我们也将在 zendAPI 项目中对 PHPCPP 的引用加上版权声明,同时把我们发现的代码 bug 反馈到 PHPCPP。

Notes

time saving, when develop zendAPI project, I read the code of PHPCPP project, thanks for the team of this project, in some files I use some classes and functions from PHPCPP project and put the copyright header infomation in these files.

PS:

PHPCPP 的 github 地址是: https://github.com/CopernicaMarketingSoftware/PHP-CPP 大家有兴趣可以去研究。

PS:

The Github reposition of PHPCPP: https://github.com/CopernicaMarketingSoftware/PHP-CPP you can learn it if you like.

国内同类型的项目推荐

目前国内有一个跟 zendAPI 比较类似的项目,这个项目是 swoole 项目作者开发,值得推荐。 项目名字 PHP—X 项目的 github 地址是 https://github.com/swoole/PHP-X 大家有兴趣可以研究。

same kind of project in China

At the time of zendAPI developing, the author of PHP network library swoole give us a project named PHP-X, do the same job of zendAPI, here is it Github Repo address:https://github.com/swoole/PHP-X

怎么参与交流

Contact me

下面是我们项目的线上交流QQ群和微信的二维码,大家可以扫码加入:

here is my QQ and wechat QR Code, if you interested in zendAPI project, just scan the QR codes:

开源中国主页: https://www.oschina.net/p/zendapi

Segmentfault技术圈:https://segmentfault.com/g/1570000010966072

meanwhile,I wrote blog at:

China opensource community: https://www.oschina.net/p/zendapi Segmentfault's tech group: https://segmentfault.com/g/1570000010966072

特别感谢

360 无线电安全部 独角兽团队 (unicorn team)

Special thanks

360 unicornteam for support I develop zendAPI project.

More Repositories

1

RePlugin

RePlugin - A flexible, stable, easy-to-use Android Plug-in Framework
Java
7,261
star
2

Atlas

A high-performance and stable proxy for MySQL, it is developed by Qihoo's DBA and infrastructure team
C
4,650
star
3

wayne

Kubernetes multi-cluster management and publishing platform
TypeScript
3,706
star
4

evpp

A modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols.
C++
3,564
star
5

ArgusAPM

Powerful, comprehensive (Android) application performance management platform. 360线上移动性能检测平台
Java
2,673
star
6

safe-rules

详细的C/C++编程规范指南,由360质量工程部编著,适用于桌面、服务端及嵌入式软件系统。
2,363
star
7

Quicksql

A Flexible, Fast, Federated(3F) SQL Analysis Middleware for Multiple Data Sources
Java
2,057
star
8

poseidon

A search engine which can hold 100 trillion lines of log data.
Go
1,966
star
9

QConf

Qihoo Distributed Configuration Management System
C++
1,865
star
10

hbox

AI on Hadoop
Java
1,727
star
11

phptrace

A tracing and troubleshooting tool for PHP scripts.
C
1,677
star
12

mysql-sniffer

mysql-sniffer is a network traffic analyzer tool for mysql, it is developed by Qihoo DBA and infrastructure team
C
845
star
13

huststore

High-performance Distributed Storage
C
823
star
14

doraemon

Doraemon is a Prometheus based monitor system
JavaScript
655
star
15

logkafka

Collect logs and send lines to Apache Kafka
C++
500
star
16

zeppelin

A Scalable, High-Performance Distributed Key-Value Platform
C++
399
star
17

tensornet

C++
316
star
18

qbusbridge

The Apache Kafka Client SDK
C++
292
star
19

360zhinao

360zhinao
Python
274
star
20

XSQL

Unified SQL Analytics Engine Based on SparkSQL
Scala
210
star
21

WatchAD2.0

WatchAD2.0是一款针对域威胁的日志分析与监控系统
CSS
206
star
22

mongosync

mongosync is simple && useful tool to sync data between mongo replicaSet, it is developed by Qihoo's DBA and infrastructure team
C++
154
star
23

artdumper

从oat文件中dump出来dex的工具
C++
138
star
24

influx-proxy

influxdb HA
Go
128
star
25

kmemcache

linux kernel memcache server
C
126
star
26

XLearning-XDML

extremely distributed machine learning
Scala
123
star
27

simcc

A simple C++ common base library used in Qihoo 360
C++
116
star
28

nemo

A library that provide multiply data structure. Such as map, hash, list, set. We build these data structure base on rocksdb as the storage layer for Pika https://github.com/OpenAtomFoundation/pika .
C++
115
star
29

ngx_http_subrange_module

Split one big HTTP/Range request to multiple subrange requesets
C
107
star
30

blackwidow

A library implements REDIS commands(Strings, Hashes, Lists, Sorted Sets, Sets, Keys, HyperLogLog) based on rocksdb, as the storage layer for Pika https://github.com/OpenAtomFoundation/pika .
C++
99
star
31

QNAT

C
88
star
32

Mario

A Library that make the write from synchronous to asynchronous.
C++
78
star
33

Luwak

利用预训练语言模型从非结构化威胁报告中提取 MITRE ATT&CK TTP 信息
Python
68
star
34

mpic

A C++ embedded library of multiple processes framework developed and used at Qihoo360.
C++
50
star
35

nemo-rocksdb

Add TTL feature on rocksdb, and compatible with rocksdb
C++
44
star
36

dgl-operator

The DGL Operator makes it easy to run Deep Graph Library (DGL) graph neural network training on Kubernetes
Go
44
star
37

ironwill

Useful iOS components for your project. 健壮且有用的OC代码, 可以直接在你的iOS应用中使用.
Objective-C
37
star
38

elog

A erlang log nif
C++
28
star
39

rust-jsonnet

rust-jsonnet - The Google Jsonnet( operation data template language) for rust
Rust
24
star
40

zeppelin-gateway

Object Gateway Provide Applications with a RESTful Gateway to zeppelin
C++
23
star
41

zeppelin-client

Client Library for zeppelin
C++
21
star
42

luajit-jsonnet

The Google Jsonnet( operation data template language) for Luajit
C++
16
star
43

HTTPSLayer

PHP
16
star
44

CReSS

Cross-model Retrieval between 13C NMR Spectrum and Structure
Python
15
star
45

wayne-backend-plugins

Wayne backend plugins
Go
13
star
46

gpstall

Stall Postgres' insert command
C++
8
star
47

cloud-website

360 cloud official website
PHP
8
star
48

wayne-frontend-plugins

Wayne UI Plugins
TypeScript
7
star
49

SEEChat

一见多模态对话模型
Python
5
star
50

wiki

wiki for qihoo infrastructure team
2
star
51

se-office

se-office扩展,提供基于开放标准的全功能办公生产力套件,基于浏览器预览和编辑office。
JavaScript
1
star