PHP-CPP是一个用于开发PHP扩展的C++库。PHP-CPP提了供一系列完善的文档、易于使用和扩展的类,让你可以相对快速的创建PHP的原生扩展。
输出和错误
上面的helloworld示例里,我们使用 进行输出,并使用了 换行刷新缓冲。 变量其实是 类的一个实例,支持PHP中设置的所有输出缓冲。它与PHP脚本中的 函数基本相同。
几个常用的方法说明:
显示刷新缓冲;
输出换行并刷新缓冲;
输出内容到缓冲;
生成一个PHP notice;
生成一个PHP warning;
生成一个PHP deprecated;
生成一个PHP error
对于错误,通知和警告,我们不需要换行符,但我们仍然必须刷新缓冲区以实际生成输出。 流有一些非常特殊的东西:当你刷新它时,PHP脚本以致命错误结束。
有了上面的几个方法,我们就可以实现PHP的标准输出功能。
使用输出必须引入 头文件。
实现PHP函数
上面的示例里其实我们已经实现了2个PHP函数。接下来,我们看看PHP-CPP如何实现以下4种函数:
无形参无返回值
无形参有返回值
有形参无返回值
有形参有返回值
得益于PHP-CPP封装的 和 类,我们可以很简单的实现上面这些函数。
可以认为是PHP的变量,内部封装了zval结构。通过对运算符的重载,C++里的变量支持自动转为 类型。
1、无形参无返回值
2、无形参有返回值
3、有形参无返回值
4、有形参有返回值
示例:
该函数实现了有形参有返回值,其他几种改改就可以实现。函数里虽然返回的是C++的int类型变量,但是 会自动转为PHP语言类型变量。
我们只需要在 里注册一下:
tips: 最终暴露出来的函数名可以与C++里函数名不同,例如:
也是可以的。
重新编译即可:
(未完待续)
想第一时间获取最新动态,欢迎关注关注 ,不定期为您呈现技术干货。
领取专属 10元无门槛券
私享最新 技术干货