网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

PHP扩展开发之整型参数传递

 实现一个加法函数,传入2个参数,计算相加的和:
 
 1.创建一个新的扩展
	./ext_skel --extname=hello
	
  2.vi config.m4   去掉以下3行行首的dnl
          PHP_ARG_ENABLE(hello, whether to enable strive support,
          Make sure that the comment is aligned:
          [  --enable-hello           Enable strive support]) 
            
 3,编写代码 
	1.vi hello.c
	
	2.#添加下面的代码
    	    ZEND_BEGIN_ARG_INFO(addition_arginfo, 0)
            ZEND_ARG_INFO(0, num1)
            ZEND_ARG_INFO(0, num2)
    	    ZEND_END_ARG_INFO()

	PHP_FUNCTION(addition) {
    	    long num1,num2;
    	    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &num1, &num2) == FAILURE) {
        	   return;
    	    }
    	    RETURN_LONG(num1+num2);
	 }
	
	
	3.在数组中添加函数名:
	  const zend_function_entry  hello_functions[] = {
	          PHP_FE(addition, NULL)           /* addition function */
	}
	
	
	
解释:
    这里创建的拓展名为hello,所以需要编辑hello.c文件,在里面加上相应的函数。这里加上了addition
    函数,主要功能是实现两个参数的相加。定义了2个参数,num1与num2。
    ZEND_BEGIN_ARG_INFO  :开始参数块定义
    ZEND_END_ARG_INFO      :结束参数块定义
    ZEND_ARG_INFO      :声明普通参数 
    PHP_FUNCTION(addition) :这里是为扩展添加具体的函数,函数名为(addition)
    函数内定义了两个long类型的变量,这里定义的变量与上面参数块中定义的对应。 
    RETURN_LONG:表示返回一个long类型的值,
    
    
 4.编译安装扩展,
       phpize
       ./configure --with-php-config=php_conf_dir
       make && make install
       vi php.ini  
       extension=strive.so       
       reload php-fpm 
 
 5.测试addition函数是否可用:
             php -r 'echo addition(10,40);' 
         
    
    
    	
		

分享标题:PHP扩展开发之整型参数传递
文章路径:http://bjjierui.cn/article/jhhepp.html

其他资讯