- 本文地址: https://www.laruence.com/2011/09/13/2139.html
- 转载请注明出处
最近有个感觉, 越来越多的人开始从事PHP扩展开发的工作(越来越多的人来问问题了, 呵呵)
在这里先说声抱歉, 有的时候, 有的同学的邮件进了垃圾邮件没有办法及时回复.
为了方便大家, 我在这里罗列一些可能用到的资源.
1. 首先, 要推荐一本书 《Extending and Embedding PHP》, 如果你有时间, 我建议你在做之前好好读读这本书(目前没有中文版)
2. Google/Baidu 这个就不用多说了吧
3. PHP的源代码中,包含了一些编写良好的"例子", 都在ext/目录下, 绝大部分Zend_API的使用, 都在里面有例子.
4. pecl-dev at lists.php.net 这个邮件组是扩展开发的交流邮件组, 如果你实在是Google/baidu不到你的问题的答案, 可以发邮件到这个邮件组提问, 不过, 一般来说, 要有耐心等待回复(大部分人和我们有15个小时的时差, 当然, 如果我看到了, 我会尽量回复)
5. efnet #php.pecl 这里聚集了pecl开发者, 你也可以来这里提问(我整天都在上面), 不过这里只能说英文, 另外提问的时候要注意不要直接粘贴代码, 而应该使用pastebin之类的工具(所以还是建议大家发邮件到pecl-dev)
6. 尽量编写一些phpt测试用例(phpt的写法在每个标准扩展下面都有例子, tests目录下), 来测试你的扩展.
7. 测试的时候用--enable-debug编译PHP, 来测试你的扩展, 你要做到执行你的扩展逻辑, 不输出任何错误信息
8. 使用valgrind检测内存泄露.
希望对大家有帮助.
Thank you for your helpful post, There is no need to go to the future, the future is coming to with you friv 1001
[…] 本文地址: https://www.laruence.com/2011/09/13/2139.html […]
Good + Thanks + Go on.
[…] PHP扩展(PECL)跟PHP引擎一样都是使用C语言开发。PHP核心开发组成员鸟哥Laruence使用的是VIM进行PHP开发。http://www.laruence.com/2011/09/13/2139.html书籍: http://www.walu.cc/phpbook/案例: php-src/extPECL开发邮件组: http://news.php.net/php.pecl.dev尽量编写一些phpt测试用例,php-src/tests下有很多参考.测试时用–enable-debug编译PHP,要做到执行你的扩展逻辑,不输出任何错误信息.用valgrind检测内存泄露. […]
谢谢指导
不错的建议和意见。
鸟哥,如何在一个php扩展中实例化其他扩展中的类,比如,在我的自定义扩展myextension中使用pdo类
http://blog.sina.com.cn/s/articlelist_1835417731_3_1.html
4PHP编译环境
3PHP的内存管理(下)引用计数此博文包含图片
3PHP的内存管理(上)内存管理的模
2.PHP的内部变量结构
1.PHP的生存周期
PHP扩展
我翻译了点,正在看。有机会大家可以交流一下。
http://blog.sina.com.cn/moses2012
这本书没中文真难肯,大牛你翻译一本吧我一定买
灰常有帮助。
你好,鸟哥:
我在编译php时,使用debug模式,调式扩展时,
发现,如果自己定义inline函数,
调用会报错,在符号表中找不到我的函数
去掉inline后,可以调试
虽然有一个内存泄漏清况,包括php内核自身的
但是大部份的内存泄漏会报在
MAKE_STD_ZVAL
ZVAL_STRING
这样的调用行!
是不是过后需要用什么函数来释放呢?
[…] http://www.laruence.com/2011/09/13/2139.html 关于做PHP扩展开发的一些资源 […]
@早起的菜鸟 @Me.strone 诶, 私房菜的鸟哥是台湾的, 搞Linux的, :<
@walu 我看了下,翻译的挺好, 不过有一点, 就是那本书成书已经好几年了, 最近PHP改变较多, 尤其是5.4, 底层结构变化也比较多, 如果忠实翻译还好, 否则可能要考虑新加入的东西:)
没注意,原来是传说中的鸟哥啊……看了你写的那两个私房菜,很不错。希望多多出好书!我们就多多向你学习了。
鸟哥 你是不是那个写私房菜的鸟哥啊?都是大神啊!我也取了鸟的名字,希望能够沾沾你们的才气
《Extending and Embedding PHP》我正在翻译,项目地址:http://phpbook.sinaapp.com 如果鸟哥偶尔有空,还请帮忙斧正。:-)
鸟哥,V5!
@Qianfeng 我自己用windows, 虚拟机是Linux, 在Linux下开发
鸟哥,我想知道你的,开发桌面是什么系统?。。
还有日常使用的桌面是否同一个~~
好了, 呵呵, 换成书名号了…
鸟哥。。。书名呢?