PHP在之前把源代码迁移到了git下管理, 同时也在github(https://github.com/php/php-src)上做了镜像, 这样一来, 就方便了更多的开发者为PHP来贡献代码.
今天写这篇文章, 就是为了给在国内的同学们, 愿意为PHP开源社区做贡献的同学们, 做个示例, 如何为PHP来贡献你的智慧.
现在, 假设你要为贡献一个新特性, 那么你除了要做下面的这些步骤以外, 还需要在wiki.php.net上提交一个RFC, 待会我会介绍这个, 现在让我们先简单点, 假设你只是要为PHP修复一个bug(一般来说, 大家可以在这里发现PHP已经报告的bug:PHP Bugs). 现在假设你已经想好了要怎么修复这个Bug.
1. 首先, 你需要有一个github的账号, 没有的话, 来这里注册: 注册github.
2. Fork PHP的源代码, 在PHP的Github页面上的右上角有一个fork按钮, 点它
3. Fork以后, 你就有了一份属于你自己的PHP源代码仓库, 现在你就可以在这个仓库下, 修改PHP的源代码来为它修复Bug了.
具体开发没什么好说的, 不过如果对于Git的使用有问题的话, 可以参考Git使用手册, 比如这个:ProGit
我这里为大家提供一个简单的说明, 如果在Github上开始开发, 在你自己的PHP代码仓库的页面上, 会有一个说明, 比如在我的PHP仓库页面上https://github.com/laruence/php-src:
- ssh git@github.com:laruence/php-src.gi
然后, 我就在本地开发环境上, 执行:
- $git clone git@github.com:laruence/php-src.gi
然后, 你就得到了一个php-src目录, 进去开发吧,
4. 等你修复完成以后, 你提交到你属于你自己的这个PHP仓库中, 然后, 在你的PHP源代码仓库的Github页面的右上角, 会有一个pull request按钮. 点它.
提交的时候, 请注意你的提交说明的格式, 首先第一行应该是个简短的说明(最多79个字符), 说明你做了什么修改. 如果一句话说不完, 就插入一个空行, 然后输入大段的说明(参看New Commit Message Format) :
- <max 79 characters short description>\n
- \n
- <long description, 79 chars per line>
- \
如果你是修复了一个列在bugs.php.net上的bug, 那么你的简短说明应该类似如下格式:
- Fixed Bug #bug号 (Bug的描述)
5. 然后, 填写相关的信息, Github就会给PHP的pull request邮件组发送一份包含着你的更新的Pull Request邮件(大家不用担心你的英文, 只要你能说出来, 我们就能看懂, 当然, 如果你实在不愿意写英文, 也没关系, 写中文吧, 我看到了会处理, 我处理不了的, 我也会为大家翻译).
6. 最后, 如果PHP的Committers们认为你的修复正确(有一些为PHP贡献代码要注意的选项, 我留在下面). 就会Merge你的Pull Request到PHP的源代码中.
现在, 假设你要提交的是, 一个更新(添加新函数, 添加新语法), 那么在你提交了Pull Request的同时, 你还需要往internals@lists.php.net邮件组发送一个邮件, 来说明你为什么要提交这个更新, 让在这个邮件组的人们一起来讨论, 帮助你完善你的想法.
最后, 在你为PHP贡献了一些更新以后(被Committer接受的更新), 那么你就可以尝试在: Register Svn Accout上来申请一个你自己的PHP Developer账号了.
附录:
为PHP贡献源代码有几点要注意的(常见的问题):
1. 只写C89兼容的代码, 比如, 不要用单行注释(//), 变量的定义一定要在所有语句之前(block的开始)..
2. 变量命名, 遵循PHP已有的规范, 不要使用驼峰命名.
3. 对于一些非常小的更新, 比如代码中有拼写错误, 还是鼓励大家到bugs.php.net上提交Patch, 毕竟Merge Pull Request有的时候会比较麻烦.
更多的PHP代码规范, 参看这里: Submitting patch
注:本文转自:技术头条
相关推荐
以上代码贡献给刚学PHP 的同学们,是刚学习PHP时自已做的一个网站,因为网站设及到的技术比较全面,(文件编程 数据库编程 ajax ... )撑握了此案例 基本上php 已经上手上 ,网站演示:http://uee.me/cUUJe
将 PHP 代码转换为 Python 代码。 要求 PHP 5.3.3 或以上(建议至少 5.3.4 以避免潜在的错误) 贡献 Fork 项目,创建一个功能分支,并向我们发送拉取请求。 为了确保一致的代码库,您应该确保代码遵循我们从 ...
5_ad.zip源码PHP项目源代码下载[论坛社区]落伍之贡献HACK FOR Discuz!5_ad.zip源码PHP项目源代码下载 1.适合个人搭建网站项目参考 2.适合学生毕业设计搭建网站参考 3.适合小公司搭建网站项目参考
Atom-atom-php-cs-fixer.zip,Run the 'PHP Coding Standards Fixer' within Atomphp-cs-fixer-atom包,atom是一个用web技术构建的开源文本编辑器。
以《阿里巴巴java开发手册》为参考,抽取并修改了原手册中满足php开发的条目。另外也新增了一些针对php定制的条目和案例。目前是第一个版本,后续还有补充。当中也存在不足,欢迎指正与补充。再次感谢阿里的开源贡献...
感谢CSDN上一位前辈贡献的中文简体调整代码。拜谢。 在项目中遇到PHP生成PDF的工作 寻找再三,终于找到可用的代码,现分析整理打包共享给大家 chinese-unicode.php -----支持简体中文的测试chinese文件 test-unicode...
第一部分将引导您了解如何通过参与开源项目为PHP社区做出贡献,包括寻找合适的项目、了解项目运作、贡献代码的基本流程以及与社区互动的最佳实践。您将学会如何通过实际行动提升个人品牌并为社区带来价值。 第二...
转载的别人的QQ农场源码!感觉还不错!但是自己研究的不是PHP 所以贡献给大家来学习研究
PHPCI PHPCI是专门为PHP设计的免费开放源代码(BSD许可证)持续集成工具。 我们在构建时考虑到了简单性,因此尽管它无法完成Jenkins可以做的所有事情,但设置和使用起来都很容易。它能做什么: 从Github,Bitbucket...
user-documentation, 为那些使用HHVM和写入黑名称和PHP代码的HHVM编写文档 http HHVM和 hack-用户文档这是HHVM和 hack 用户文档文件的repo 。 欢迎使用贡献和反馈。什么?这里 repo 有三个键区域:用户文档: 指南 。...
PHP5权威编程指南,作者是PHP5 首席设计师Andi Gutmans、PEAR 创始人Stig Saether Bakken、PHP 核心贡献者Derick三位业内大师级的人物。所有这些,说其权威性一点也不为过。
专为团队设计的代码段管理器。 Hoard是使用PHP内置的代码段管理器。 它是为团队设计的,但也可以由个人使用! 通过完美组织的即时访问最常用的代码来增强您的工作流程。 最新发布的即将推出 特征 Hoard具有许多...
这些存根看起来像常规PHP代码,并定义了可用的参数,它们的类型,属性,方法等。如果您想提供一个修补程序或其他存根,请分叉并向旧版分支提交补丁:https:// github。 ...
使用Visual Studio Code作为扩展安装后,此扩展会根据PSR-0,PSR-1, 或Symfony样式约定自动格式化PHP代码。 特征 仅格式化当前选择或整个文件的格式。 使用自定义键绑定或操作触发格式。 支持保存时格式化。 ...
php/fi以令人惊奇的步调成长,人们开始把自己的代码贡献给它. 很难给出它的硬统计表,但可以估计在1996年末,整个世界至少有15,000个网站在用php/fi.到1997年年中,这个 数字已经超过50,000了. 而在此时php的发展也...
PHP 5首席设计师Andi Gutmans,PEAR创始人Stig Saether Bakken,PHP核心贡献者Derick Rethans三大高手合力而作:本书几乎囊括了PHP 5所有的新特性,包括PHP 5所有的新功能,PHP 5的面向对象编程方法和设计模式,以及...
通过贡献代码,您同意根据该项目的MIT许可来许可该代码。 安装 作曲家(推荐) 可通过Composer / Packagist获得此软件包: $ composer require meyfa/php-svg 手册 此仓库或,并将其放在项目中的某个位置。 然后...
提交之前,请检查您PHP源代码是否符合PSR-2。 在每次提交时,此Composer软件包都将开始检查您PHP文件,以确保它们符合《 。 这是一个 Action。 使用精彩的。 目录 安装 只需将开发需求添加到您的composer.json ,...