贡献导引
贡献导引
Bug 报告
为了鼓励积极的合作,Laravel 强烈鼓励提交 pull request,而不仅仅是提交「Bug 报告」。「Bug 报告」也可以包含失败测试的 pull request 的形式发送。
然而,如果你提交了一个 Bug 报告,你的问题(issue)应该包含一个标题和对问题的清晰描述。你还应该包含尽可能多的相关信息以及演示该问题的代码示例。错误报告的目标是使您自己(以及其他人)能够轻松地复现错误并开发修复程序。
请记住,创建 Bug 报告是希望有相同问题的其他人能够与您协作解决它。不要期望 Bug 报告能够自动查看任何活动或者其他人跳转自此来修复它。创建 Bug 报告有助于你自己和其他人开始修复问题。如果你想加入,你可以通过修复 issues 列表 来提供帮助。你必须通过 GitHub 认证才能查看 Laravel 的所有问题。
Laravel 源码托管在 GitHub 上,每个项目都有一个仓库:
- Laravel Application
- Laravel Art
- Laravel Documentation
- Laravel Dusk
- Laravel Cashier Stripe
- Laravel Cashier Paddle
- Laravel Echo
- Laravel Envoy
- Laravel Framework
- Laravel Homestead
- Laravel Homestead Build Scripts
- Laravel Horizon
- Laravel Jetstream
- Laravel Passport
- Laravel Sanctum
- Laravel Scout
- Laravel Socialite
- Laravel Telescope
- Laravel Website
帮助支持
Laravel 的 GitHub issue 不打算提供 Laravel 的帮助或支持。相反,可以使用以下途径之一:
核心发展讨论
您可以在 Laravel Ideas issue 列表 提出新功能或对现有 Laravel 行为进行改进。如果你提出一项新功能,你至少得完成该功能所需的一些代码。
关于 bugs,新特性以及现有特性的实现的非正式讨论在 Laravel Discord server 的 #internals
频道中进行。 Laravel 的维护者 Taylor Otwell 通常在工作日的上午 8 点至下午 5 点(UTC-06:00 或美国 / 芝加哥)出现在频道中,偶尔也会在其他时间出现在频道中。
哪个分支?
所有的 bug 修复应该发送到最新的稳定分支或 当前 LTS 分支。除非它们修复了仅存在于即将发布的版本中的功能,否则 永远不 应该将其发送给 master
分支。
与当前版本 完全向后兼容 的 次要 功能可能会被发送到最新的稳定分支。
主要的 新功能应始终被发送到即将发布的 master
分支。
如果您不确定您的功能质量是否合格,请在 Laravel Discord server 的 #internals
频道中咨询 Taylor Otwell。
编译资源
如果你提交了一个可能影响编译的文件的修改,如大多数在 resources/sass
或 resources/js
或 laravel/laravel
中的文件,不要提交编译后的文件。由于这些文件很大,因此维护人员实际上无法对其进行检查。同时,这也可能被用于注入恶意代码到 Laravel 中。为了避免出现这种情况,所有编译的文件都需要由 Laravel 维护者生成和提交。
安全漏洞
如果您在 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
*
* @throws \Exception
*/
public function bind($abstract, $concrete = null, $shared = false)
{
//
}
StyleCI
如果你的代码格式不是很完美,不必担心,StyleCI 会在提交代码时自动为我们修正代码风格以保持和 Laravel 仓库代码一致,从而让我们注重于代码内容而非风格。
行为守则
Laravel 的行为守则源自 Ruby 行为守则,任何违背行为守则的行为都可以上报给 Taylor Otwell (taylor@laravel.com):
- 参与者要容忍反对意见。
- 参与者必须确保其言行不涉及个人攻击或贬低他人。
- 在解释他人的言行时,参与者应始终保持良好的意愿。
- 有充分理由被认定是骚扰的行为是不能容忍的。