投稿指南
错误报告
为了鼓励积极协作,Laravel 强烈鼓励拉取请求,而不仅仅是错误报告。拉取请求只有在标记为“准备好审查”(不处于“草稿”状态)并且所有新功能测试都通过时才会被审查。留在“草稿”状态的挥之不去的、非活动的拉取请求将在几天后关闭。
但是,如果您提交错误报告,您的问题应该包含标题和问题的清晰描述。您还应该包括尽可能多的相关信息和演示该问题的代码示例。错误报告的目的是让您自己和其他人可以轻松地复制错误并开发修复程序。
请记住,创建错误报告是希望遇到相同问题的其他人能够与您合作解决问题。不要指望错误报告会自动看到任何活动或其他人会立即修复它。创建错误报告有助于您自己和他人开始解决问题的道路。如果你想凑钱,你可以通过修复来帮忙我们的问题跟踪器中列出的任何错误.您必须通过 GitHub 的身份验证才能查看 Laravel 的所有问题。
如果您在使用 Laravel 时注意到不正确的 DocBlock、PHPStan 或 IDE 警告,请不要创建 GitHub 问题。相反,请提交拉取请求以解决问题。
Laravel 源代码在 GitHub 上管理,每个 Laravel 项目都有存储库:
支持问题
Laravel 的 GitHub 问题跟踪器并不旨在为 Laravel 提供帮助或支持。相反,请使用以下渠道之一:
核心开发讨论
您可以在 Laravel 框架存储库中提出新功能或现有 Laravel 行为的改进GitHub 讨论区.如果您提出一项新功能,请愿意至少实现完成该功能所需的一些代码。
关于错误、新特性和现有特性实现的非正式讨论发生在#internals
频道的Laravel 不和谐服务器. Laravel 的维护者 Taylor Otwell 通常在工作日的上午 8 点到下午 5 点(UTC-06:00 或美国/芝加哥)出现在频道中,其他时间偶尔出现在频道中。
哪个分行?
All 错误修复应该发送到支持错误修复的最新版本(目前10.x
).错误修复应该never 被发送到master
分支,除非他们修复了仅存在于即将发布的版本中的功能。
Minor 特征是完全向后兼容 当前版本可能会发送到最新的稳定分支(当前10.x
).
Major 新功能或具有重大更改的功能应始终发送到master
分支,其中包含即将发布的版本。
编译资产
如果您提交的更改会影响已编译的文件,例如中的大多数文件resources/css
或者resources/js
的laravel/laravel
存储库,不要提交编译后的文件。由于它们的大小,它们实际上无法由维护者进行审查。这可能被用作将恶意代码注入 Laravel 的一种方式。为了防御性地防止这种情况发生,所有编译后的文件都将由 Laravel 维护者生成并提交。
安全漏洞
如果您发现 Laravel 中存在安全漏洞,请发送电子邮件至 Taylor Otwell,地址为taylor@laravel.com.所有安全漏洞都将得到及时解决。
编码风格
Laravel 遵循PSR-2 编码标准和PSR-4 自动加载标准。
PHPDoc
下面是一个有效的 Laravel 文档块的示例。请注意,@param
attribute 后跟两个空格,参数类型,另外两个空格,最后是变量名:
/**
* 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
如果您的代码样式不完美,请不要担心!StyleCI 合并拉取请求后,将自动将任何样式修复合并到 Laravel 存储库中。这使我们能够专注于贡献的内容而不是代码风格。
行为守则
Laravel 行为准则源自 Ruby 行为准则。任何违反行为准则的行为都可以报告给 Taylor Otwell (taylor@laravel.com):
- 参与者将容忍反对意见。
- 参与者必须确保他们的语言和行为没有人身攻击和贬低个人的言论。
- 在解释他人的言行时,参与者应始终假设善意。
- 不能容忍可以合理地视为骚扰的行为。