PHP 开发扩展 C++ 库:PHP-CPP

分享到:

PHP-CPP是一个用于开发PHP扩展的C++库。它提供了一套详实易用的类,用于开发PHP扩展。
phpcpp-logo.png

示例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 counter
invokeDuringRequestCount = 0;
});
// add the updateCounter method to the extension
extension.add("updateCounters", updateCounters);
// return the extension details
return extension;
}
}


项目主页:http://www.open-open.com/lib/view/home/1411096798125

昵    称:
验证码:

相关文档: