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
注:本文转自:技术头条
相关推荐
8. CONTRIBUTING.md 文件描述了如何向项目贡献代码和参与开发的规则。 综上所述,这个压缩包提供了PHPWord库的完整代码,包括示例和必要的配置文件,可以直接在PHP环境中运行,无需额外安装步骤或依赖管理。这对于...
PHP Code Sniffer 可以检查代码是否符合诸如PSR-1、PSR-2等编码标准,这些标准是由PHP FIG(PHP Framework Interop Group)制定的。通过检测命名约定、缩进、空格、注释格式等,它能确保代码的整洁和专业性。例如,...
通过源代码,开发者可以深入理解这些功能背后的实现机制,为自己的项目进行定制化开发。 在描述中提到的“关于admin的使用”,这通常指的是如何通过PHP admin 进行数据库管理。首先,你需要配置phpadmin的配置文件...
5. 开源与社区贡献:PHP代码翻译器作为一个开源项目,意味着任何人都可以查看、使用、修改和分发源代码。这种开放性促进了技术的交流和进步,用户可以根据自己的需求定制功能,或者改进原有的翻译算法。 6. 学习...
将 PHP 代码转换为 Python 代码。 要求 PHP 5.3.3 或以上(建议至少 5.3.4 以避免潜在的错误) 贡献 Fork 项目,创建一个功能分支,并向我们发送拉取请求。 为了确保一致的代码库,您应该确保代码遵循我们从 ...
10. **社区贡献与文档**:压缩包中的"代码中国.txt"文件可能包含来自社区的贡献,例如示例代码、教程或开发者讨论,这些都是了解PHP生态系统和最佳实践的好资源。 总之,深入研究PHP 4.3.1 源代码可以帮助开发者...
通过Zephir编写的代码会被编译成C代码,然后用C编译器编译为PHP扩展。 2. **PHP扩展开发**:PHP扩展通常由C语言编写,需要对C语言有深厚的掌握。Zephir的出现降低了这个门槛,使得熟悉PHP的开发者也能参与到扩展的...
全开源的特性使得这个系统更具吸引力,因为它允许社区成员查看、修改和贡献代码,共同完善系统功能。开源也意味着透明度,用户可以对代码进行安全审查,确保没有潜在的安全风险。此外,亲测可用的标签则表明该系统...
该插件的源代码存储在atom-autocompletion-master目录下,用户可以查看并参与到项目的开发中,为其改进和完善贡献自己的力量。开源社区的持续贡献使得Atom-atom-autocompletion保持更新,以适应不断发展的PHP语言和...
以上代码贡献给刚学PHP 的同学们,是刚学习PHP时自已做的一个网站,因为网站设及到的技术比较全面,(文件编程 数据库编程 ajax ... )撑握了此案例 基本上php 已经上手上 ,网站演示:http://uee.me/cUUJe
PHP CS Fixer是一款强大的开源工具,专为PHP开发者设计,旨在自动修复PHP代码中的编码风格问题,确保代码遵循统一的编码标准。这款工具由FriendsOfPHP团队开发并维护,其目标是提升代码质量和可读性,同时也减轻了...
4. **贡献社区**:熟悉源代码的开发者还能参与PHP的开发和维护,为开源社区贡献力量。 **PHP源代码结构** PHP的源代码组织有序,主要分为以下几个部分: 1. **Zend Engine**:这是PHP的核心解析器,负责解释和...
5. **开源项目贡献**:对于开源项目,提供代码行数统计可以增加项目的透明度,吸引更多的贡献者。 总之,PHPCloc作为一款便捷的代码统计工具,无论是在日常开发、项目管理还是代码审查中,都能发挥其价值,帮助...
针对电子名片微信小程序,开发者社区鼓励成员共同参与,贡献代码,这不仅能推动项目的发展,还能促进社区成员之间的知识交流和技术成长。通过协作,开发者可以共享知识、分担工作,共同解决开发中遇到的难题,提高小...
5_ad.zip源码PHP项目源代码下载[论坛社区]落伍之贡献HACK FOR Discuz!5_ad.zip源码PHP项目源代码下载 1.适合个人搭建网站项目参考 2.适合学生毕业设计搭建网站参考 3.适合小公司搭建网站项目参考
7. **CREDITS**: 该文件列出了对PHP项目作出贡献的人员和团队,包括核心开发者、贡献者等,是对他们工作的一种认可。 8. **ltmain.sh**: 这是GNU Libtool的主要脚本,用于管理库文件的版本信息和编译链接过程,简化...
这不仅允许社区用户为项目贡献代码和提出改进建议,也让有兴趣的开发者可以深入研究程序的实现细节。 在功能上,代码管家的设计理念是让程序员的工作更加高效。它通过提供便捷的记录和检索功能,有效地帮助用户避免...
由于其深度学习和循环神经网络的特性,该模型能够适应PHP语言的多样性和复杂性,为开发者提供了一种更强大、更精确的工具来检测和预防代码漏洞。 【结论】文章提出的基于改进ASTNN的PHP代码漏洞挖掘方法,通过利用...
最后,本项目的源码和文档是开源的,这意味着开发者可以自由地使用、修改和分发代码,也为开源社区贡献了一份力量。开源文化鼓励知识共享和技术交流,对于推动技术发展和教育普及具有重要意义。
【标题】"基于PHP的POSCMS开源内容管理系统源码.zip"揭示了这是一个采用PHP编程语言开发的开源内容管理系统(CMS)源代码包。...此外,参与开源项目还能提升个人技能,扩大专业网络,并为整个社区做出贡献。