PHP 在之前把源代码迁移到了 git 下管理, 同时也在 github (https://github.com/php/php-src)上做了镜像, 这样一来, 就方便了更多的开发者为 PHP 来贡献代码. 今天写这篇文章, 就是为了给在国内的同学们, 愿意为 PHP 开源社区做贡献的同学们, 做个示例
PHP 在之前把源代码迁移到了 git 下管理, 同时也在 github (https://github.com/php/php-src)上做了镜像, 这样一来, 就方便了更多的开发者为 PHP 来贡献代码.
今天写这篇文章, 就是为了给在国内的同学们, 愿意为 PHP 开源社区做贡献的同学们, 做个示例, 如何为 PHP 来贡献你的智慧.
现在, 假设你要为贡献一个新特性, 或者简单点, 你要为 PHP 修复一个 bug (一般来说, 大家可以在这里发现 PHP 已经报告的 bug: 注册 github
2. fork PHP 的源代码, 在 PHP 的 Github 页面上的右上角有一个 fork 按钮, 点它
3. Fork 以后, 你就有了一份属于你自己的 PHP 源代码仓库, 现在你就可以在这个仓库下, 修改 PHP 的源代码来为它修复 Bug 了.
4. 等你修复完成以后, 你提交到你属于你自己的这个 PHP 仓库中, 然后, 在你的 PHP 源代码仓库的 Github 页面的右上角, 会有一个 pull request 按钮. 点它.
5. 然后, 填写相关的信息, Github 就会给 PHP 的 pull request 邮件组发送一份包含着你的更新的 Pull Request 邮件(大家不用担心你的英文, 只要你能说出来, 我们就能看懂, 当然, 如果你实在不愿意写英文, 也没关系, 写中文吧, 我看到了会处理, 我处理不了的, 我也会为大家翻译).
6. 最后, 如果 PHP 的 Committers 们认为你的修复正确(有一些为 PHP 贡献代码要注意的选项, 我留在下面). 就会 Merge 你的 Pull Request 到 PHP 的源代码中.
为 PHP 贡献源代码有几点要注意的(常见的错误):
1. 只写 C89 兼容的代码, 比如, 不要用单行注释(//), 变量的定义一定要在所有语句之前(block 的开始)..
2. 变量命名, 遵循 PHP 已有的规范, 不要使用驼峰命名.
3. 对于一些非常小的更新, 比如代码中有拼写错误, 还是鼓励大家到 bugs.php.net 上提交 Patch, 毕竟 Merge Pull Request 有的时候会比较麻烦.
更多的 PHP 代码规范, 参看这里: Submitting patch