贡献指南
错误报告
为了鼓励积极的协作,Laravel 强烈鼓励提交拉取请求,而不仅仅是错误报告。“错误报告”也可以以包含失败测试的拉取请求的形式发送。
然而,如果您提交错误报告,您的问题应包含标题和问题的清晰描述。您还应尽可能多地包含相关信息和演示问题的代码示例。错误报告的目标是让自己和他人能够轻松地重现错误并开发修复方案。
请记住,错误报告是为了希望与您有相同问题的其他人能够与您合作解决问题。不要期望错误报告会自动看到任何活动或其他人会立即修复它。创建错误报告是为了帮助自己和他人开始解决问题的过程。
Laravel 源代码在 Github 上管理,并且每个 Laravel 项目都有相应的仓库:
- Laravel 框架
- Laravel 应用程序
- Laravel 文档
- Laravel Cashier
- Laravel Cashier for Braintree
- Laravel Envoy
- Laravel Homestead
- Laravel Homestead 构建脚本
- Laravel 网站
- Laravel 艺术
核心开发讨论
您可以在 Laravel Internals 问题板上提出新功能或改进现有 Laravel 行为的建议。如果您提出新功能,请愿意实现至少部分完成该功能所需的代码。
关于错误、新功能和现有功能实现的非正式讨论在 LaraChat Slack 团队的 #internals
频道进行。Laravel 的维护者 Taylor Otwell 通常在工作日的上午 8 点到下午 5 点(UTC-06:00 或美国/芝加哥)在频道中出现,并在其他时间不定期出现。
哪个分支?
所有错误修复应发送到最新的稳定分支或当前的 LTS 分支(5.1)。错误修复绝不应发送到 master
分支,除非它们修复的功能仅存在于即将发布的版本中。
完全向后兼容当前 Laravel 版本的小功能可以发送到最新的稳定分支。
重大新功能应始终发送到 master
分支,该分支包含即将发布的 Laravel 版本。
如果您不确定您的功能是重大还是小型,请在 LaraChat Slack 团队的 #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
如果您的代码风格不完美,不用担心!StyleCI 会在任何拉取请求合并后自动将任何风格修复合并到 Laravel 仓库中。这使我们能够专注于贡献的内容而不是代码风格。