贡献给 PHP 核心

PHP 是一个开源项目,因此,任何人都可以为它做出贡献。从广义上讲,有两种方法可以为 PHP 核心做出贡献:

  • 漏洞修复
  • 功能增加

但是,在做出贡献之前,了解如何管理和发布 PHP 版本非常重要,以便错误修复和功能请求可以针对正确的 PHP 版本。开发的更改可以作为拉取请求提交给 PHP Github 存储库 。有关开发人员的有用信息,请访问 PHP.net 站点Get Involved 部分#externals 论坛

有助于修复 Bug

对于那些希望开始为核心做贡献的人来说,通常更容易从错误修复开始。在尝试对功能所需的核心进行更复杂的修改之前,这有助于熟悉 PHP 的内部。

关于版本管理过程,错误修复应该针对受影响最小的,同时仍然支持 PHP 版本。这个版本是修复拉取请求应该定位的 bug。从那里,内部成员可以将修复程序合并到正确的分支中,然后根据需要将其合并到以后的 PHP 版本中。

对于那些希望开始解决错误的人,可以在 bugs.php.net 上找到错误报告列表。

促进功能增加

PHP 在引入新功能和对语言进行重要更改时遵循 RFC 流程。RFC 由 php.net 成员投票,并且必须达到总票数的简单多数(50%+ 1)或超多数(2/3 + 1)。如果更改影响语言本身(例如引入新语法),则需要超级多数,否则只需要简单多数。

在 RFC 可以投票之前,他们必须在官方 PHP 邮件列表上进行至少 2 周的讨论。一旦这段时间结束,并且 RFC 没有公开的问题,它就可以进入投票,投票必须持续至少 1 周。

如果用户想要恢复先前被拒绝的 RFC,那么他们只能在以下两种情况之一下执行此操作:

  • 从之前的投票开始已经过去了 6 个月
  • 如果 RFC 再次投票,作者对 RFC 进行了足够大的修改,这可能会影响投票结果。

有权投票的人要么是 PHP 本身的贡献者(也是 php.net 帐户的贡献者),要么是 PHP 社区的代表。这些代表是由那些拥有 php.net 帐户的人选择的,他们要么是基于 PHP 的项目的主要开发者,要么是常规参与者进行内部讨论。

在提交提案的新想法时,提议者几乎总是需要编写至少一个概念验证补丁。这是因为没有实现,该建议只是成为另一个不太可能在不久的将来实现的功能请求。

有关此过程的详细说明,请参阅官方如何创建 RFC 页面。

发布

主要的 PHP 版本没有固定的发布周期,因此它们可能由内部团队自行决定发布(只要他们认为适合新的主要版本)。另一方面,次要版本每年发布。

在每次发布 PHP(主要,次要或补丁)之前,都会提供一系列候选发布版(RCs)。PHP 不像其他项目那样使用 RC(即如果 RC 没有发现问题,那么将其作为下一个最终版本)。相反,它将它们用作最终测试版的一种形式,其中通常在最终版本发布之前确定一定数量的 RC。

版本

PHP 通常会尝试在可能的情况下遵循语义版本控制。因此,应该在语言的次要版本和补丁版本中维护向后兼容性(BC)。保留 BC 的功能和更改应针对次要版本(不是修补程序版本)。如果某个功能或更改有可能破坏 BC,那么它们的目标应该是针对下一个主要的 PHP 版本( X .yz)。

每一个微小的 PHP 版本(X。 Ÿ .Z)已连续两年的普遍支持(所谓的积极支持)对所有类型的 bug 修复。除此之外还增加了一年的安全支持,其中仅应用了与安全相关的修复。三年后,对该版本的 PHP 的支持完全被删除。可以在 php.net 上找到当前支持的 PHP 版本列表。