`
bugtags
  • 浏览: 31713 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

如何为PHP贡献代码

 
阅读更多

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:

  1. ssh git@github.com:laruence/php-src.gi

然后, 我就在本地开发环境上, 执行:

  1. $git clone git@github.com:laruence/php-src.gi

然后, 你就得到了一个php-src目录, 进去开发吧, :)

4. 等你修复完成以后, 你提交到你属于你自己的这个PHP仓库中, 然后, 在你的PHP源代码仓库的Github页面的右上角, 会有一个pull request按钮. 点它.

提交的时候, 请注意你的提交说明的格式, 首先第一行应该是个简短的说明(最多79个字符), 说明你做了什么修改. 如果一句话说不完, 就插入一个空行, 然后输入大段的说明(参看New Commit Message Format) :

  1. <max 79 characters short description>\n
  2. \n
  3. <long description, 79 chars per line>
  4. \

如果你是修复了一个列在bugs.php.net上的bug, 那么你的简短说明应该类似如下格式:

  1. 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

注:本文转自:技术头条



 

分享到:
评论

相关推荐

    phpword完整代码包含sample无需安装可直接运行

    8. CONTRIBUTING.md 文件描述了如何向项目贡献代码和参与开发的规则。 综上所述,这个压缩包提供了PHPWord库的完整代码,包括示例和必要的配置文件,可以直接在PHP环境中运行,无需额外安装步骤或依赖管理。这对于...

    PHPCodeSniffer一个检测PHPCSS和JS代码标准冲突的库

    PHP Code Sniffer 可以检查代码是否符合诸如PSR-1、PSR-2等编码标准,这些标准是由PHP FIG(PHP Framework Interop Group)制定的。通过检测命名约定、缩进、空格、注释格式等,它能确保代码的整洁和专业性。例如,...

    PHP admin 及源代码

    通过源代码,开发者可以深入理解这些功能背后的实现机制,为自己的项目进行定制化开发。 在描述中提到的“关于admin的使用”,这通常指的是如何通过PHP admin 进行数据库管理。首先,你需要配置phpadmin的配置文件...

    PHP代码翻译器.rar

    5. 开源与社区贡献:PHP代码翻译器作为一个开源项目,意味着任何人都可以查看、使用、修改和分发源代码。这种开放性促进了技术的交流和进步,用户可以根据自己的需求定制功能,或者改进原有的翻译算法。 6. 学习...

    php2py:将 PHP 代码转换为 Python 代码

    将 PHP 代码转换为 Python 代码。 要求 PHP 5.3.3 或以上(建议至少 5.3.4 以避免潜在的错误) 贡献 Fork 项目,创建一个功能分支,并向我们发送拉取请求。 为了确保一致的代码库,您应该确保代码遵循我们从 ...

    php 4.3.1 源代码

    10. **社区贡献与文档**:压缩包中的"代码中国.txt"文件可能包含来自社区的贡献,例如示例代码、教程或开发者讨论,这些都是了解PHP生态系统和最佳实践的好资源。 总之,深入研究PHP 4.3.1 源代码可以帮助开发者...

    zehphir代码 zephir编写PHP扩展

    通过Zephir编写的代码会被编译成C代码,然后用C编译器编译为PHP扩展。 2. **PHP扩展开发**:PHP扩展通常由C语言编写,需要对C语言有深厚的掌握。Zephir的出现降低了这个门槛,使得熟悉PHP的开发者也能参与到扩展的...

    2023最新PHP文件代码加密系统_在线PHP批量加密系统_全开源_亲测可用.zip

    全开源的特性使得这个系统更具吸引力,因为它允许社区成员查看、修改和贡献代码,共同完善系统功能。开源也意味着透明度,用户可以对代码进行安全审查,确保没有潜在的安全风险。此外,亲测可用的标签则表明该系统...

    Atom-atom-autocompletion,为php源代码提供自动完成功能的atom包。.zip

    该插件的源代码存储在atom-autocompletion-master目录下,用户可以查看并参与到项目的开发中,为其改进和完善贡献自己的力量。开源社区的持续贡献使得Atom-atom-autocompletion保持更新,以适应不断发展的PHP语言和...

    PHP网站学习代码实例

    以上代码贡献给刚学PHP 的同学们,是刚学习PHP时自已做的一个网站,因为网站设及到的技术比较全面,(文件编程 数据库编程 ajax ... )撑握了此案例 基本上php 已经上手上 ,网站演示:http://uee.me/cUUJe

    PHPCSFixer一个工具来自动修复PHP编码标准问题

    PHP CS Fixer是一款强大的开源工具,专为PHP开发者设计,旨在自动修复PHP代码中的编码风格问题,确保代码遵循统一的编码标准。这款工具由FriendsOfPHP团队开发并维护,其目标是提升代码质量和可读性,同时也减轻了...

    PHP:PHP源代码-php

    4. **贡献社区**:熟悉源代码的开发者还能参与PHP的开发和维护,为开源社区贡献力量。 **PHP源代码结构** PHP的源代码组织有序,主要分为以下几个部分: 1. **Zend Engine**:这是PHP的核心解析器,负责解释和...

    PHPCloc用PHP编写的Cloc重复代码检查器

    5. **开源项目贡献**:对于开源项目,提供代码行数统计可以增加项目的透明度,吸引更多的贡献者。 总之,PHPCloc作为一款便捷的代码统计工具,无论是在日常开发、项目管理还是代码审查中,都能发挥其价值,帮助...

    电子名片微信小程序,欢迎大家一起来维护,贡献代码

    针对电子名片微信小程序,开发者社区鼓励成员共同参与,贡献代码,这不仅能推动项目的发展,还能促进社区成员之间的知识交流和技术成长。通过协作,开发者可以共享知识、分担工作,共同解决开发中遇到的难题,提高小...

    [论坛社区]落伍之贡献HACK FOR Discuz!5_ad.zip源码PHP项目源代码下载

    5_ad.zip源码PHP项目源代码下载[论坛社区]落伍之贡献HACK FOR Discuz!5_ad.zip源码PHP项目源代码下载 1.适合个人搭建网站项目参考 2.适合学生毕业设计搭建网站参考 3.适合小公司搭建网站项目参考

    php-5.3.29源码

    7. **CREDITS**: 该文件列出了对PHP项目作出贡献的人员和团队,包括核心开发者、贡献者等,是对他们工作的一种认可。 8. **ltmain.sh**: 这是GNU Libtool的主要脚本,用于管理库文件的版本信息和编译链接过程,简化...

    代码管家 - 代码片段记录管理保存工具软件,支持vb/c++/c#/php/java/python等语法高亮

    这不仅允许社区用户为项目贡献代码和提出改进建议,也让有兴趣的开发者可以深入研究程序的实现细节。 在功能上,代码管家的设计理念是让程序员的工作更加高效。它通过提供便捷的记录和检索功能,有效地帮助用户避免...

    一种改进ASTNN网络的PHP代码漏洞挖掘方法.pdf

    由于其深度学习和循环神经网络的特性,该模型能够适应PHP语言的多样性和复杂性,为开发者提供了一种更强大、更精确的工具来检测和预防代码漏洞。 【结论】文章提出的基于改进ASTNN的PHP代码漏洞挖掘方法,通过利用...

    【php毕业设计】班级管理系统源码(完整前后端+mysql+说明文档).zip

    最后,本项目的源码和文档是开源的,这意味着开发者可以自由地使用、修改和分发代码,也为开源社区贡献了一份力量。开源文化鼓励知识共享和技术交流,对于推动技术发展和教育普及具有重要意义。

    基于PHP的POSCMS开源内容管理系统源码.zip

    【标题】"基于PHP的POSCMS开源内容管理系统源码.zip"揭示了这是一个采用PHP编程语言开发的开源内容管理系统(CMS)源代码包。...此外,参与开源项目还能提升个人技能,扩大专业网络,并为整个社区做出贡献。

Global site tag (gtag.js) - Google Analytics