本文共 602 字,大约阅读时间需要 2 分钟。
写在最前
随着互联网飞速发展,lamp架构的流行,php支持的扩展也越来越多,这样直接促进了php的发展。
但是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/