php发展

注册

 

发新话题 回复该主题

PHP7扩展开发篇一hellowo [复制链接]

1#
北京治白癜风的医院哪家最好 https://wapjbk.39.net/yiyuanzaixian/bjzkbdfyy/
(题图是编号为AR的太阳黑子,由Alexhy摄于年9月5日,上海)说在前面谁适合看本文?

如果你已经写了一两年的PHP代码,想深入了解PHP。可以通过本文,学习下PHP的扩展机制。

PHP扩展能干啥?

1、对于性能要求比较高的代码,可以使用扩展实现。PHP扩展使用C语言或者C++语言编写,性能比纯PHP代码要好。2、纯PHP代码无法实现的功能,可以通过PHP扩展实现。如,需要调用第三方lib库。比如,我的tclip扩展,就需要调用opencv的人脸识别库。

本文是以PHP7作为基础,讲解如何从零开始创建一个PHP扩展。本文主要讲解创建一个扩展的基本步骤都有哪些。示例中,我们将实现如下功能:

?phpechosay();?

输出内容:

12$php./test.php$helloword

在扩展中实现一个say方法,调用say方法后,输出helloword。

第一步:生成代码

PHP为我们提供了生成基本代码的工具ext_skel。这个工具在PHP源代码的./ext目录下。

12$cdphp_src/ext/$./ext_skel--extname=say

extname参数的值就是扩展名称。执行ext_skel命令后,这样在当前目录下会生成一个与扩展名一样的目录。

第二步,修改config.m4配置文件

config.m4的作用就是配合phpize工具生成configure文件。configure文件是用于环境检测的。检测扩展编译运行所需的环境是否满足。现在我们开始修改config.m4文件。

12$cd./say$vim./config.m4

打开,config.m4文件后,你会发现这样一段文字。

4567891011dnlIfyourextensionreferencessomethingexternal,usewithnlPHP_ARG_WITH(say,forsaysupport,dnlMakesurethatthe
分享 转发
TOP
发新话题 回复该主题