跳到主要内容
版本:9.x

贡献导引

Bug 报告

为了鼓励积极的合作,Laravel 强烈鼓励提交 pull request,而不仅仅是提交「Bug 报告」。「Bug 报告」也可以包含失败测试的 pull request 的形式发送。只有在标记为「准备好审核」(而不是处于「草稿」状态)并且新功能的所有测试都通过时,才会审核拉取请求。停留在「草稿」状态的、非活动的拉取请求将在几天后关闭。

然而,如果你提交了一个 Bug 报告,你的问题(issue)应该包含一个标题和对问题的清晰描述。你还应该包含尽可能多的相关信息以及演示该问题的代码示例。错误报告的目标是使您自己(以及其他人)能够轻松地复现错误并开发修复程序。

请记住,创建 Bug 报告是希望有相同问题的其他人能够与您协作解决它。不要期望 Bug 报告能够自动查看任何活动或者其他人跳转自此来修复它。创建 Bug 报告有助于你自己和其他人开始修复问题。如果你想加入,你可以通过修复 issues 列表 来提供帮助。你必须通过 GitHub 认证才能查看 Laravel 的所有问题。

Laravel 源码托管在 GitHub 上,每个项目都有一个仓库:

帮助支持

Laravel 的 GitHub issue 不打算提供 Laravel 的帮助或支持。相反,可以使用以下途径之一:

核心开发讨论

你可以在 Laravel 框架存储库的 GitHub 讨论区 中提出新功能或对现有 Laravel 行为的改进。 如果您提出一项新功能,请愿意至少实现一些完成该功能所需的代码。

Laravel Discord 服务器#internals 频道中进行了有关错误、新功能和现有功能实现的非正式讨论。 Laravel 的维护者 Taylor Otwell 通常在工作日的上午 8 点至下午 5 点(UTC-06:00 或美国/芝加哥)出现在频道中,并在其他时间偶尔出现在频道中。

哪个分支?

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

与当前版本完全向后兼容次要**功能可能会发送到最新的稳定分支。

主要 新功能应始终发送到包含即将发布的版本的 master 分支。

如果您不确定您的功能是否符合主要或次要功能,请在 Laravel Discord 服务器#internals 频道中询问 Taylor Otwell。

编译文件

如果您提交的更改会影响已编译文件,例如 laravel/laravel 存储库的 resources/cssresources/js 中的大部分文件,请不要提交已编译文件。 由于它们的体积很大,维护者实际上无法对其进行审查。 这可能被用作将恶意代码注入 Laravel 的一种方式。 为了防御性地防止这种情况发生,所有编译的文件都将由 Laravel 维护者生成和提交。

安全漏洞

如果你发现 Laravel 中存在安全漏洞,请发送电子邮件至 taylor@laravel.com 给 Taylor Otwell。 所有安全漏洞都将得到及时解决。

编码风格

Laravel 遵循 PSR-2 编码标准和 PSR- 4 自动加载标准。

PHP文档

下面是一个有效的 Laravel 文档块的示例。 请注意,@param 属性后跟两个空格、参数类型、另外两个空格,最后是变量名:

/**
* 向容器注册绑定。
*
* @param string|array $abstract
* @param \Closure|string|null $concrete
* @param bool $shared
* @return void
*
* @throws \Exception
*/
public function bind($abstract, $concrete = null, $shared = false)
{
//
}

StyleCI

如果您的代码样式不完美,请不要担心! StyleCI 将在合并拉取请求后自动将任何样式修复合并到 Laravel 存储库中。 这使我们能够专注于贡献的内容,而不是代码风格。

行为准则

Laravel 行为准则源自 Ruby 行为准则。 任何违反行为准则的行为都可以报告给 Taylor Otwell (taylor@laravel.com):

  • 参与者将容忍反对意见。
  • 参与者必须确保他们的语言和行为没有人身攻击和贬低个人言论。
  • 在解释他人的言行时,参与者应始终保持良好的意图。
  • 不能容忍可合理视为骚扰的行为。