关于“如何开发PHP扩展”的学习小结

看到此文,是否觉得体内洪荒之力爆发,饥渴难耐想吐槽、情不自禁想捐赠
本文为原创文章,尊重辛勤劳动,可以免费摘要、推荐或聚合,亦可完整转载,但完整转载需要标明原出处,违者必究。

支付宝微  信

近期,工作上的业务并不是很忙。做了大半年的业务逻辑,尽管在PHP编码习惯和技巧上有所进步,初步熟悉了在高并发下Redis和Memcache缓存的使用和注意事项。但,应该借此闲暇时间探索下PHP底层的一些原理。这样,才是会有质的提升,写出更好的代码。

正如那句话“PHP取得成功的一个主要原因之一是她拥有大量的可用扩展”,那就从PHP扩展入手了解下。

在此之前,大家肯定都了解“PHP是C写的”。于是打开了PHP的源码,列出跟目录列表如下图(有亮点~ 怎么单位的女同事都没了。。):

0F506EEB-1487-4669-8315-68B212A3573F

PHP(5.6.4)跟目录列表

看到了熟悉的以后缀.c结尾的源文件。如图,有个名为“Zend”的文件夹很重要,这个就是PHP的核心。于是在网上搜到了两个若干PHP扩展的教程:

  1. http://www.laruence.com/2009/04/28/719.html
  2. http://www.walu.cc/phpbook

起初,耐心的看了http://www.walu.cc/phpbook的教程。并没有读完,只是看了前面的前8章。之后按着http://www.laruence.com/2009/04/28/719.html的教程,仿照着写了一个扩展。进行了编译、排查错误、编译、安装和测试等步骤,有了整体的感知。

在开发的过程中,可贵的也是难点就是要遵循PHP的扩展开发标准来做。我想,只要是熟悉了这个标准,至少写出一些简单的扩展是OK的了。在此基础上,继续深入的了解其特性,才可以开发出稳定、安全且高性能的扩展吧。

上述提到的源码(供学习交流之用):http://github.com/genialx/geno_file


文章来源:胡旭个人博客 => 【原】关于“如何开发PHP扩展”的学习小结

转载请注明出处,违者必究!


这是一篇原创文章,如果您觉得有价值,可以通过捐赠来支持我的创作~
捐赠者会展示在博客的某个页面,钱将会用在有价值的地方,思考中...


分类: PHP, 技术, 技术分享, 编程 | 标签: , , , | 评论 | Permalink

发表评论

电子邮件地址不会被公开。 必填项已用*标注