位置: 编程技术 - 正文

PHP7扩展开发教程之Hello World实现方法示例(php添加扩展)

编辑:rootadmin

推荐整理分享PHP7扩展开发教程之Hello World实现方法示例(php添加扩展),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php 安装扩展,php 安装扩展,php扩展库,php扩展库,php引入扩展,php扩展库,php扩展库,php_fileinfo扩展,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了PHP7扩展开发教程之Hello World实现方法。分享给大家供大家参考,具体如下:

一、下载PHP源代码

要开发PHP扩展,需要先下载PHP的源代码,一方面是因为我们的扩展一般会用到PHP自身定义的函数和宏,另一方面我们可以利用官方提供的工具减少工作量。

我下载了PHP-7.0.2,地址是: tar xzf php-7.0.2.tar.gz,我们现在只需要关注Zend和ext这两个目录。

Zend目录里面包含了PHP的Zend Engine源代码,有些函数和宏的定义我们需要在这里面简单地看一下。

ext目录里面包含了PHP原生的扩展,以及我们开发自己的扩展时可以利用的工具,Linux下使用ext_skel,Windows下使用ext_skel_win.php

二、使用ext_skel工具

我们可以在ext目录下看到所有的PHP原生扩展,其中包括了熟悉的curl,json,mbstring,simplexml,sockets等扩展,还有很多没有用过甚至没有听说过的扩展,不用在意这些,我们先打开我们最熟悉的curl来看看,有config.m4配置文件,有php_curl.h,curl_file.c等源代码,还有一些中间文件,最后还有一个tests目录,里面放的curl扩展的单元测试。重点关注config.m4,php_curl.h,curl_file.c即可,最简单的场景下这三个文件就是一个扩展的全部组成部分了。

打开随便看一下,不算太复杂,但是自己写一个类似的还是挺头疼的,这时就需要用到我前面提到的ext_skel工具了。这个工具也在ext目录下,我们执行一下,./ext_skel --help,可以看到若干参数,我们用到的只有--extname=module,这里填上自己开发的扩展名称。想深入了解各个参数的作用可以看这里: --help时可以看到。

php_hello.h头文件

类似于C语音的头文件,包含了一些自定义的结构和函数声明,在这个demo中暂时不需要改动

hello.c代码文件

真正的逻辑代码都在这个文件中,后面会详细介绍。

三、编写代码

好了,到这一步我们终于要开始写代码了,打开hello.c文件。

PHP7扩展开发教程之Hello World实现方法示例(php添加扩展)

整个扩展的入口是zend_module_entry这个结构,具体的定义可以在Zend目录下的zend_modules.h文件中看到,一共有十几个属性,快速跳过,我们暂时只需要"hello world"。

STANDARD_MODULE_HEADER帮我们实现了前面6个属性

"hello"是扩展的名字

hello_functions是扩展包含的全部方法的集合

后面5个宏分别代表5个扩展特定方法

PHP_HELLO_VERSION是扩展的版本号,定义在头文件中

STANDARD_MODULE_PROPERTIES帮我们实现了剩下的属性

暂时都不需要修改,知道这是一个入口就行。顺着这个入口,我们继续看怎么给扩展添加方法,在hello_functions[]方法数组中已经有了一个示例方法confirm_hello_compiled,我们参考它写我们的方法hello_world

先在扩展的方法数组中添加上hello_world,然后再定义hello_world。找到confirm_hello_compiled方法定义的地方,在它下面依葫芦画瓢,php_printf是Zend Engine中的printf方法。

四、编译安装

最后就是编译安装我们的扩展了,安装过PHP扩展的同学不用看,没有经验的可以参考一下。

phpize

现在PHP的扩展目录中已经有了hello.so这个文件,在php.ini中添加上扩展的配置

五、测试

写一个test.php方法,执行脚本就可以看到"Hello World!"

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP扩展开发教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》、《PHP网络编程技巧总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

php7安装yar扩展的方法详解 本文实例讲述了php7安装yar扩展的方法。分享给大家供大家参考,具体如下:体验RPC框架Yar需要:1.装二进制打包协议msgpack2.装yar拓展和依赖一.安装二进

PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法 本文实例讲述了PHP实现将优酷土豆腾讯视频html地址转换成flashswf地址的方法。分享给大家供大家参考,具体如下:很多用户不知道如何复制flash地址,只

PHP基于自定义类随机生成姓名的方法示例 本文实例讲述了PHP基于自定义类随机生成姓名的方法。分享给大家供大家参考,具体如下:自定义类rndChinaName.class.php:phpClassrndChinaName{private$arrXing,$numbX

标签: php添加扩展

本文链接地址:https://www.jiuchutong.com/biancheng/287569.html 转载请保留说明!

上一篇:phpStudy中升级MySQL版本到5.7.17的方法步骤(php升级到php7注意的问题)

下一篇:php7安装yar扩展的方法详解(php安装扩展fileinfo)

  • 企业所得税汇算清缴补缴税款分录
  • 哪些占用土地的行为不征收耕地占用税?
  • 进口关税的计算方式
  • 房租租赁房产税由哪方缴纳
  • 业务活动成本和业务活动费用的区别
  • 记账凭证红字冲销
  • 收付转记账凭证图片
  • 现代服务业加计抵减政策适用范围
  • 房产未竣工如何缴纳房产税
  • 小规模纳税人申请一般纳税人流程
  • 设备款支付比例
  • 拆迁房视同销售成本可以抵减吗?
  • 建筑工程公司是什么意思
  • 生产型增值税与消费型增值税的区别在于是否允许企业
  • 蜜枣税收分类编码
  • 建筑企业收到的成本发票可以直接进主营业务成本吗
  • 工会筹备金需要在年终汇算调增吗
  • 不得抵扣啥意思
  • 建筑公司收取的劳务费和挂靠管理费有区别吗?
  • 会计报表上总资产怎么填
  • 支票能够拿来付款吗
  • 进项为13%,销售时是否可按9%
  • 验资报告办理一般需要多久时间
  • 子公司能转让吗
  • 新注册的公司用不用开公户
  • 什么是长期应付薪酬
  • 资本性支出计算公式为什么加折旧
  • 已经抵扣增值税专用发票对方要换票怎么办
  • 企业职工教育经费
  • 付出去的款项退回的会计分录如何做
  • 一般纳税人接受固定资产投资时相关的科目可能有
  • 七喜v8笔记本
  • php 无限级分类
  • adb是什么程序
  • window10进程
  • 发代扣代缴手续费个税免
  • 电商第三方平台规则的特点
  • pos机刷卡怎么做账务处理
  • PHP:Memcached::replace()的用法_Memcached类
  • 什么样的企业是好企业,什么样的员工是好员工
  • php是基于
  • php如何实现mysql数据的删除
  • 出口货物免抵退税额的计算方法
  • 气温和降水空间变化一月平均气温规律是什么原因是什么
  • 存货盘点会计分录怎么做
  • 营改增后租金收入交什么税
  • 汽车抵押贷款会上征信吗
  • 淘宝天猫开票是普票还是专票
  • 车费增值税税率
  • 小额贷款公司如何做账
  • 公对公开税票流程
  • 去税务局流程
  • 供应商折扣一次多少
  • 人民币支付结算系统CIPS
  • 企业计提坏账准备形成可抵扣暂时性差异
  • 物流辅助服务属于
  • 其他贷款服务计入什么科目
  • 金税三期网络设置
  • 明细分类账的填写
  • 修改远程桌面端口后,远程桌面连不上
  • linux如何列出所有用户
  • centos7脚本
  • win1020h2正式版
  • centosgui
  • win7系统安全软件
  • win8待机后无法唤醒
  • win10升级版本后还要激活吗
  • jquery showdialog
  • js设置图片宽度
  • javascript常用类型
  • AndroidAnnotations 自定义控件 ant编译 找不到类
  • 欢迎使用城市供水信息服务平台
  • jquery cookie使用
  • 批处理延迟变量
  • 国家税务局湖北省税务总局
  • 收讫付讫是什么意思
  • 国家税务总局一个月多少钱
  • 税务uk数据怎么导出来
  • 河南省国家税务局发票查询官网
  • 宣传中常用的效应包括
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设