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

Apache
PHP SHELL 查看源码»
跨平台
2014-09-18
yunfound

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



的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

php无限极分类

(1)sql建表 CREATE TABLE IF NOT EXISTS `category` ( `categoryId` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `parentId` smallint(5) unsigned NOT NULL DEFAULT '0', `categoryNa...

2014/12/29 23:08
74
0
C/C++/linux推荐读物

应 @潜伏的胖子 邀请,介绍C++相关图书,我也试着整理一下。 以下是我大学三年以来课外看的技术相关书籍,应该是近两年看的书籍 虽然看了这么多,并不一定每本都认真看了,每一本都看懂了,但...

2013/04/09 22:16
488
0
C/C+是什么,能用来做什么?

1、从C到C++ 计算机诞生初期,用机器语言或汇编语言编写程序; 第一种高级语言FORTRAN诞生于1954年; BASIC语言(1964)是由FORTRAN语言的简化而成的是为初学者设计的小型高级语言; C语言是1972年...

08/07 21:18
29
0
50个c/c++源代码网站

C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。 1、http://snippets.dzone.com/tag/c/ --数以千计的...

2014/04/11 10:23
65
0
C++老矣,尚能饭否?

中国人读“C++”时存在两种读音,一种读作“C加加”,另一种读作“C plus plus”。两种读音似乎都没错,只是遵从不同的标准罢了。如同C++有两种读法一样,目前C++阵营甚至没有一个完整的标准...

2011/07/05 14:20
232
0
PHP中的对象访问操作符 只有"->"

PHP中的对象创建只能使用new关键字,创建的对象相当于C/C++中的指针对象,若要访问其属性和方法必须使用"->"操作符。这和C/C++是一致的,但PHP对象访问操作符只有"->",而C/C++中还可以"."操...

2015/01/21 11:01
14
0
献给入门C++/Java选择困难综合症患者

如何让技术群活跃起来?PHP是世界上最好的语言。 没有优秀之分,否则只能显得你不懂另一门语言。如果你想学,那么请远离C/C++,请使用Java,以一个学长的身份,阐述一下。C++向后兼容C,这句...

2018/12/26 20:55
52
0
本地(windows环境)安装php扩展注意事项

一、根据phpinfo()打印的信息选择需要安装的扩展类型 打开PHPinfo(),查看信息,注意4项指标: 1、php版本(PHP Version 5.6.40) 2、操作系统(32为是x86,64位是x64) 3、线程安全:ts(...

08/22 15:31
4
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部