PHP 开发扩展 C++ 库 PHP-CPP
Git@OSC 手机客户端摇一摇,有惊喜有妹纸
PHP-CPP是一个用于开发PHP扩展的C++库。它提供了一套详实易用的类,用于开发PHP扩展。详细文档说明:http://www.php-cpp.com
示例1:
Php::Value hello_world(){ return "hello world!";}
示例2:
#include <phpcpp.h>/** * Global variable that stores the number of times * the function updateCounters() has been called in total * @var int */int invokeTotalCount = 0;/** * Global variable that keeps track how many times the * function updateCounters() was called during the * current request * @var int */int invokeDuringRequestCount = 0;/** * Native function that is callable from PHP * * This function updates a number of global variables that count * the number of times a function was called */void updateCounters(){ // increment global counters invokeTotalCount++; invokeDuringRequestCount++;}/** * Switch to C context, because the Zend engine expects get get_module() * to have a C style function signature */extern "C" { /** * Startup function that is automatically called by the Zend engine * when PHP starts, and that should return the extension details * @return void* */ PHPCPP_EXPORT void *get_module() { // the extension object static Php::Extension extension("my_extension", "1.0"); // install a callback that is called at the beginning // of each request extension.onRequest([]() {// re-initialize the counterinvokeDuringRequestCount = 0; }); // add the updateCounter method to the extension extension.add("updateCounters", updateCounters); // return the extension details return extension; }}