Daily Archives: 2013/02/12

使用C开发包裹第三方的PHP扩展

一. 快速上手

建立php扩展, 我们可以直接使用源代码目录下的ext_skel生成一个初步的框架. 第一步我们需要给他函数定义文件, 该函数定义文件定义了扩展对外提供的函数原形。函数定义文件的一般格式是一个函数一行。你可以定义可选参数和使用大量的PHP类型,包括: bool, float, int, array等。

resource SFileOpenArchive(string name, int priority, int flags)

保存为myfunctions.def文件至PHP原代码目录树下。

该是通过扩展骨架(skeleton)构造器运行函数定义文件的时机了。该构造器脚本叫ext_skel,放在PHP原代码目录树的ext/目录下(PHP原码主目录下的README.EXT_SKEL提供了更多的信息)。假设你把函数定义保存在一个叫做myfunctions.def的文件里,而且你希望把扩展取名为myfunctions,运行下面的命令来建立扩展骨架.

./ext_skel --extname=myfunctions --proto=myfunctions.def

Read more »