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

jopen 10年前

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