为鼓励积极协作,Laravel 强烈鼓励拉取请求,而不仅仅是 Bug 报告。拉取请求只会在标记为“准备好审核”(非“草稿”状态)且所有新功能的测试都通过时进行审核。长期未活动的、处于“草稿”状态的拉取请求将在几天后关闭。
然而,如果您提交错误报告,您的议题应包含一个标题和对该议题的清晰描述。您还应包含尽可能多的相关信息以及一个能演示该议题的代码示例。错误报告的目标是让您自己 - 以及其他人 - 更容易复现该错误并开发修复方案。
请记住,错误报告旨在希望遇到相同问题的其他人能与您协作解决该问题。不要指望错误报告会自动得到任何关注,或其他人会立即着手修复它。创建错误报告是为了帮助您自己和他人开始着手解决问题。如果您想出一份力,可以通过修复我们问题追踪器中列出的任何错误来提供帮助。您必须通过 GitHub 身份验证,才能查看 Laravel 的所有问题。
如果您在使用 Laravel 时发现不正确的 DocBlock, PHPStan, 或 IDE 警告, 请不要创建 GitHub issue. 而是, 请提交 pull request 来修复此问题.
Laravel 源代码在 GitHub 上进行管理, 并且每个 Laravel 项目都有相应的仓库:
Laravel 的 GitHub 问题追踪器并非旨在提供 Laravel 帮助或支持。相反,请使用以下渠道之一:
您可以在 Laravel 框架仓库的 GitHub 讨论区 中提出新功能或改进现有 Laravel 行为。如果您提出一个新功能,请愿意至少实现一部分完成该功能所需的代码。
关于 bug、新功能以及现有功能实现的非正式讨论,在 Laravel Discord 服务器 的 #internals 频道中进行。Laravel 维护者 Taylor Otwell 通常在工作日的上午 8 点至下午 5 点(UTC-06:00 或 America/Chicago)出现在该频道中,并且在其他时间偶尔出现。
所有错误修复都应该发送到支持错误修复的最新版本(目前是 12.x)。错误修复绝不应该发送到 master 分支,除非它们修复的功能仅存在于即将发布的版本中。
与当前版本完全向后兼容的次要功能可以发送到最新的稳定分支 (目前是 12.x)。
主要的新功能或包含破坏性更改的功能应该始终提交到 master 分支,该分支包含即将发布的版本。
如果您提交的更改将影响编译文件, 例如 laravel/laravel 仓库中 resources/css 或 resources/js 下的大部分文件, 请勿提交编译文件. 由于它们体积庞大, 维护者无法实际审查它们. 这可能被利用作为向 Laravel 注入恶意代码的方式. 为了防御性地防止这种情况, 所有编译文件将由 Laravel 维护者生成和提交.
如果您在 Laravel 中发现安全漏洞,请发送电子邮件至 Taylor Otwell taylor@laravel.com。所有安全漏洞都将得到及时处理。
Laravel 遵循 PSR-2 编码标准和 PSR-4 自动加载标准.
下面是一个有效的 Laravel 文档块示例。请注意,@param 属性后面跟着两个空格,然后是参数类型,再是两个空格,最后是变量名:
/**
* Register a binding with the container.
*
* @param string|array $abstract
* @param \Closure|string|null $concrete
* @param bool $shared
* @return void
*
* @throws \Exception
*/
public function bind($abstract, $concrete = null, $shared = false)
{
// ...
}当 @param 或 @return 属性由于使用了原生类型而变得冗余时,它们可以被移除:
/**
* Execute the job.
*/
public function handle(AudioProcessor $processor): void
{
// ...
}但是,当原生类型是泛型时,请通过使用 @param 或 @return 属性来指定泛型类型:
/**
* Get the attachments for the message.
*
* @return array<int, \Illuminate\Mail\Mailables\Attachment>
*/
public function attachments(): array
{
return [
Attachment::fromStorage('/path/to/file'),
];
}如果你的代码风格不完美,请不要担心!StyleCI 将在拉取请求合并后,自动将任何样式修复合并到 Laravel 仓库中。这使我们能够专注于贡献的内容,而不是代码风格。
Laravel 行为准则源自 Ruby 行为准则。任何违反行为准则的行为,可报告给 Taylor Otwell (taylor@laravel.com):