Skip to content

贡献指南

介绍

Laravel 是一个开源项目,任何人都可以为 Laravel 的改进做出贡献。我们欢迎各类贡献者,无论技能水平、性别、种族、宗教或国籍。拥有一个多元化、充满活力的社区是框架的核心价值之一!

为了鼓励积极的合作,Laravel 目前只接受拉取请求,而不接受错误报告。“错误报告”可以以包含失败单元测试的拉取请求形式发送。或者,可以通过在沙盒 Laravel 应用中演示错误的方式,将其作为拉取请求发送到 主 Laravel 仓库。失败的单元测试或沙盒应用为开发团队提供了“证据”,证明错误确实存在,并且在开发团队解决错误后,作为一个可靠的指标,表明错误仍然被修复。

Laravel 源代码在 Github 上管理,每个 Laravel 项目都有自己的仓库:

核心开发讨论

关于错误、新特性和现有特性的实现的讨论在 #laravel-dev IRC 频道(Freenode)进行。Laravel 的维护者 Taylor Otwell 通常在工作日的 8am-5pm(UTC-06:00 或 America/Chicago)在频道中出现,并且在其他时间偶尔出现。

#laravel-dev IRC 频道对所有人开放。欢迎所有人加入频道,无论是参与讨论还是仅仅观察讨论!

新特性

在发送新特性的拉取请求之前,请通过 #laravel-dev IRC 频道(Freenode)联系 Taylor Otwell。如果该特性被认为适合框架,您可以自由地提交拉取请求。如果特性被拒绝,不要放弃!您仍然可以将您的特性转变为一个可以通过 Packagist 发布的包。

在添加新特性时,不要忘记添加单元测试!单元测试有助于确保在添加新特性时框架的稳定性和可靠性。

错误

通过单元测试

错误的拉取请求可以在不与 Laravel 开发团队事先讨论的情况下发送。在提交错误修复时,请尽量包含一个确保错误不会再次出现的单元测试!

如果您认为您在框架中发现了一个错误,但不确定如何修复它,请发送一个包含失败单元测试的拉取请求。失败的单元测试为开发团队提供了“证据”,证明错误确实存在,并且在开发团队解决错误后,作为一个可靠的指标,表明错误仍然被修复。

如果您不确定如何为错误编写失败的单元测试,请查看框架中包含的其他单元测试。如果您仍然感到困惑,可以在 #laravel IRC 频道(Freenode)寻求帮助。

哪个分支?

lightbulb

本节主要适用于向 laravel/framework 仓库发送拉取请求的人,而不是 Liferaft 应用。

所有 错误修复应发送到最新的稳定分支。错误修复绝不应发送到 master 分支,除非它们修复的特性仅存在于即将发布的版本中。

小型 特性如果完全向后兼容当前的 Laravel 版本,可以发送到最新的稳定分支。

大型 新特性应始终发送到 master 分支,该分支包含即将发布的 Laravel 版本。

如果您不确定您的特性是否属于大型或小型,请在 #laravel-dev IRC 频道(Freenode)询问 Taylor Otwell。

安全漏洞

如果您在 Laravel 中发现安全漏洞,请通过电子邮件发送给 Taylor Otwell,邮箱地址为 taylorotwell@gmail.com。所有安全漏洞将会被及时处理。

编码风格

Laravel 遵循 PSR-0PSR-1 编码标准。除了这些标准外,还应遵循以下编码标准:

  • 类命名空间声明必须与 <?php 在同一行。
  • 类的开头 { 必须与类名在同一行。
  • 函数和控制结构必须使用 Allman 风格的括号。
  • 使用制表符缩进,使用空格对齐。