贡献指引

Bug 反馈

为鼓励积极协作,Laravel 强烈推荐使用 Pull Request,而不仅仅只是反馈错误。也可以用 PR 提交失败测试来发送「错误反馈」。

如果您要提交错误反馈,问题应该包含标题和明确的问题描述,并尽可能多的提供相关的信息和演示该问题的示例代码。错误反馈的目的是让您和其他人可以轻松地重现并修复此错误。

请记住,错误反馈的初衷是让其他有相同问题的人能够和您协作解决问题。不要理所当然地指望反馈错误后有人很快修复它。创建错误反馈是一种帮助您和其他人开始着手修复问题的途径。

Laravel 源代码托管在 GitHub 上面,并且每个 Laravel 项目都有自己的代码仓库:

核心开发讨论

如果您想对现有的 Laravel 提出功能建议或者改进,请到 Laravel Internals 的 反馈栏 讨论。如果提出新功能,我们希望您能实现完成该功能所需的起码的代码。

有关错误、新功能和现有功能实现的非正式讨论会在 Laravel Discord Server #internals 频道上进行。Laravel 的维护者 Taylor Otwell 通常会在工作日的早上 8 点到下午 5 点(UTC-06:00 或 America/Chicago)在该频道上,其它时间偶尔也会出现。

选择分支?

所有 错误修复都应该发送到最新的稳定分支或当前的 LTS 分支(5.5)上。错误修复 应发送到 master 分支,除非修复仅在即将发布的版本中存在的功能。

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

主版本 新功能都应发送到 master 分支,也包含即将发布的 Laravel 版本。

如果不确定您的功能是主版本的还是次版本的,请咨询 Laravel Discord Server #internals 频道上的 Taylor Otwell。

安全漏洞

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

编码风格

Laravel 遵循 PSR-2 编码规范PSR-4 自动加载规范

PHPDoc

以下是正确的 Laravel 块注释示例。请注意,@param 属性后跟两个空格,参数类型,两个空格,最后是变量名:

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

StyleCI

别担心您的编码风格不够漂亮!在合并 PR 后 StyleCI 会自动修正样式,然后再合并到 Laravel 仓库中。这样我们就可以专注于贡献内容本身而不是编码风格。