博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎么写php扩展插件,php如何写插件
阅读量:5868 次
发布时间:2019-06-19

本文共 602 字,大约阅读时间需要 2 分钟。

写在最前

随着互联网飞速发展,lamp架构的流行,php支持的扩展也越来越多,这样直接促进了php的发展。

973d6f7a2ce1d737788f251c0e988784.png

但是php也有脚本语言不可避免的问题,性能比例如C等编译型语言相差甚多,所以在考虑性能问题的时候最好还是通过php扩展来解决。(推荐学习:PHP视频教程)

那么,怎么去做一个php扩展呢。下面从一个例子开始(需要C基础)。

解决一个问题

在一个系统中,如果经常要求一个数组的平方和,我们可以这么写。<?php

function array_square_sum($data){

$sum = 0;

foreach($data as $value){

$sum += $value * $value;

}

return $sum;

}

实际执行的时候,php zend引擎会把这段话翻译成C语言,每次都需要进行内存分配。所以性能比较差。进而,基于性能上的考虑,我们可以编写一个扩展来做这个事情。

编写扩展

构建一个扩展,至少需要2个文件。一个是Configulator文件,它会告诉编译器编译这个扩展至少需要哪些依赖库;第二个是实际执行的文件。

生成框架

听起来很复杂,实际上有一个工具可以帮我们搞定一个扩展的框架。在php源代码里面有个工具ext_skel,他可以帮我们生成扩展框架。liujun@ubuntu:~/test/php-5.5.8/ext$ ls ext_skel

ext_skel

转载地址:http://pftnx.baihongyu.com/

你可能感兴趣的文章
Linux lsof命令详解
查看>>
SVG path
查看>>
js判断checkbox是否选中
查看>>
多系统盘挂载
查看>>
MySQL函数怎么加锁_MYSQL 函数调用导致自动生成共享锁问题
查看>>
MR1和MR2的工作原理
查看>>
Eclipse中修改代码格式
查看>>
GRUB Legacy
查看>>
关于 error: LINK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决方案...
查看>>
hexo博客解决不蒜子统计无法显示问题
查看>>
python实现链表
查看>>
java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)...
查看>>
Android TabActivity使用方法
查看>>
Eclipse的 window-->preferences里面没有Android选项
查看>>
《麦田里的守望者》--[美]杰罗姆·大卫·塞林格
查看>>
遇到的那些坑
查看>>
央行下属的上海资信网络金融征信系统(NFCS)签约机构数量突破800家
查看>>
[转] Lazy evaluation
查看>>
常用查找算法总结
查看>>
grep 零宽断言
查看>>