深入研究php源码实现,以达到编写php扩展与改写原有扩展的深度,应当从哪里入手?应当是怎样的学习步

2016-07-24 20:11发布

深入研究PHP源码实现,以达到编写PHP扩展与改写原有扩展的深度,应当从哪里入手?应当是怎样的学习步骤?
付费偷看设置
发送
8条回答
php100经常去,深入的并不多

php-internal.com/ 似乎核心的还没有译到

入门教程现在很多了已经,呵呵, 最重要的就是动手练习, 遇到不会的用法, PHP源码下的ext/目录里, 有各种各样的例子.
1.看看这个网站吧 php-internal.com/
一个深入PHP内核的开源项目,不过目前还没有完成。
这里 php-internal.com/about/有几个牛人的博客,文章也挺好的。

2.PHP扩展开发及内核应用
github.com/walu/phpbook

PS:我也想研究PHP内核的,只是由于时间的问题一直没有真正开始,希望对你有用。
laruence.com/2011/09/13
这个牛人的博客可以看一下,另外这篇文章里介绍的那几本书也挺不错的。
除此之外,还有一个walu.sinaapp.com,这是一个博客,也有一些对PHP源码的介绍,另外还有一个该博主正在翻译的文章:phpbook.sinaapp.com/pre。都是蛮不错的资源!
开发PHP扩展的入手方式,不是从看PHP源码开始的。PHP官方(zend)提供了开发扩展的标准,如果您想学习扩展开发,那么首要的就是学习和遵循官方给出的标准开发。所以,你需要了解他的标准是什么,就知道如何入手了。
1. C语言开发
2. 扩展骨架结构和Zend引擎定义的宏的使用
问题是官方的标准比较难理解,而且有很多的文档并不完善。如果,您对其他第三方类库(C++)开发扩展感兴趣,您可以看看PHP-CPP的类库。好处是:没有过多的宏定义,简介明了,容易上手(如果您对C++熟悉)。
相关资源:【原】PHP扩展开发利器之PHP-CPP库官方中文文档
php-internal.com/about/
说的是深入PHP内核,我看了下既不深入也不详细。
php100.com
这个上面都是比较入门的东西。

上面这两个我都不推荐,其实我也想知道,有什么地方可以讨论下PHP源码,不过文档里面有一章 PHP at the Core 可以看看。
基本上都是Zend Api那套编程接口,熟悉一下,就可以很容易编写php extension。前提是要了解一下php脚本执行时,php内核的内部的运行机理. 可以参考下面的几个文档
php.net/manual/en/inter
devzone.zend.com/303/ex

devzone.zend.com/317/ex

devzone.zend.com/446/ex