PHP-CPP开发扩展(一)

PHP-CPP是一个用于开发PHP扩展的C++库。PHP-CPP提供了一系列完善的文档、易于使用和扩展的类,让你可以相对快速的创建PHP的原生扩展。

为什么使用PHP-CPP

很快

用C++编写的代码很快:比用PHP编写的代码快得多。

简单

用C++编写的算法看起来几乎与用PHP编写的算法相同。如果你知道如何用PHP编程,你可以很容易地学习如何在C++中做同样的事情。实际上,PHP和大多数PHP函数名的语法都直接来自C和C++语法。

无需Zend引擎知识

Zend引擎的内部结构过于复杂,Zend引擎的代码很乱,而且大部分都没有记录。

完善的文档

支持所有重要的PHP功能

使用PHP-CPP,你可以像使用普通的PHP脚本一样轻松地处理变量、数组、函数、对象、类、接口、异常和命名空间。除此之外,你还可以使用C++的所有功能,包括线程,lambdas和异步编程。

免费的

PHP-CPP是一种开源技术,可供你免费使用。

环境准备

GCC版本不能太低,因为需要支持c++11特性。我使用的版本:

如果你是CentOS的系统,可能GCC版本最高就是4.4.7,这时候只能通过手动编译重新安装了。

官方文档:http://www.php-cpp.com/documentation/

安装PHP-CPP

PHP-CPP区分PHP5和7系列,但是对外提供的API是一样的。

PHP5:

PHP7:

然后编译安装:

Hello World

可以先clone下面这个例子来尝鲜:

进入helloworld源码目录,打开main.cpp,可以看到如下代码结构:

PHP-CPP库定义了一个 宏,它应该放在 函数的前面。此宏确保 函数是公共导出的,因此可由PHP调用。宏具有基于编译器和操作系统的不同实现。

编译这个扩展很简单,在终端命令行下输入make命令即可:

编译完成会在源码目录下看到 helloworld.so 这个扩展文件。然后在php.ini文件添加扩展:

输入:

就可以看到扩展。

测试源码目录下有个test.php,执行:

(未完待续)

想第一时间获取最新动态,欢迎关注关注 ,不定期为您呈现技术干货。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180723G08CYP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券