`
bugtags
  • 浏览: 29968 次
  • 性别: 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环境中运行,无需额外安装步骤或依赖管理。这对于...

    PHP admin 及源代码

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

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

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

    PHP代码翻译器.rar

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

    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团队开发并维护,其目标是提升代码质量和可读性,同时也减轻了...

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

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

    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的主要脚本,用于管理库文件的版本信息和编译链接过程,简化...

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

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

    PHP解释器 -C++源码

    PHP解释器是实现PHP语言的关键组件,它负责将PHP代码转换为机器可执行的指令。在本主题中,我们主要...通过阅读和分析这些源码,你可以探索PHP的底层机制,提高你的编程技能,并可能为PHP社区贡献自己的优化或改进。

    php_scan:PHP源代码审计

    - "系统开源"标签表明php_scan是一个开放源代码项目,这意味着用户可以自由查看、使用和贡献代码,这有助于工具的持续改进和更新。 通过合理利用php_scan这样的源代码审计工具,开发者可以显著提高PHP应用的安全性...

    开源免费的分类信息系统、供求信息系统PHP源代码

    这为开发者提供了巨大的学习机会,可以深入理解系统的工作原理,进行定制化开发,或者贡献自己的改进。同时,由于是免费的,这降低了搭建此类系统的成本,使得小型企业和个人也能拥有自己的信息平台。 总之,开源...

    PHP源代码的在线火灾报告系统.zip

    《PHP源代码构建在线火灾报告系统》 在线火灾报告系统是一种高效、实时的灾害信息管理工具,它利用PHP编程语言实现...对于开发者而言,深入理解并实践此类系统,能有效提升Web开发技能,同时为社会安全贡献技术力量。

Global site tag (gtag.js) - Google Analytics