* * * * *
[TOC]
## 错误反馈
为了鼓励积极协作,Laravel 强烈地鼓励使用 Pull Request 指出修改的内容,而不仅仅只是反馈错误。「错误反馈」也可以用 PR 来提交失败测试。
如果你要提交错误反馈,你的问题应该包含标题和明确的问题描述,并尽可能多的提供相关的信息和演示该问题的代码示例。错误反馈的目的是让你和其他人可以轻松地重现并修复错误。
请记住,错误反馈的初衷是让其它有相同问题的人能够和你协作解决问题。不要指望反馈错误后会很快有人修复它。创建错误反馈是能帮助你和其他人开始着手修复问题的途径。
Laravel 源代码托管在 GitHub 上面,并且每个 Laravel 的项目都有自己的代码仓库:
* [Laravel 应用](https://github.com/laravel/laravel)
* [Laravel Art](https://github.com/laravel/art)
* [Laravel 文档](https://github.com/laravel/docs)
* [Laravel Cashier](https://github.com/laravel/cashier)
* [Braintree 版 Laravel Cashier](https://github.com/laravel/cashier-braintree)
* [Laravel Envoy](https://github.com/laravel/envoy)
* [Laravel 框架](https://github.com/laravel/framework)
* [Laravel Homestead](https://github.com/laravel/homestead)
* [Laravel Homestead 构建脚本](https://github.com/laravel/settler)
* [Laravel Horizon](https://github.com/laravel/horizon)
* [Laravel Passport](https://github.com/laravel/passport)
* [Laravel Scout](https://github.com/laravel/scout)
* [Laravel Socialite](https://github.com/laravel/socialite)
* [Laravel 网站](https://github.com/laravel/laravel.com)
## 核心开发讨论
如果你想提出现有的 Laravel 的功能建议或者改进,请到 Laravel Internals 的 [issue board](https://github.com/laravel/internals/issues)讨论。如果你提出新功能,如果愿意,我们希望能请你至少实现一些完成该功能所需的代码。
有关错误、新功能和现有功能的实现的非正式讨论会在 [LaraChat](https://larachat.co/) Slack 团队的 `#internals` 频道中进行。Laravel 的维护者 Taylor Otwell 通常都会在工作日的早上 8 点 到下午 5点( UTC-06:00 或 America/Chicago )出现在频道上,其它时间偶尔也会出现。
## 选择分支?
**所有** 错误修复都应该发送到最新的稳定分支或当前的 LTS 分支(5.5)上。 错误修复 **不** 应该发送到 `master` 分支,除非它们修复仅在即将发布的版本中存在的功能。
与当前 Laravel 版本**完全向后兼容**的**次要**功能可能会发送到最新的稳定分支。
**主要** 新功能都应该发送到 `master` 分支,它包含即将发布的 Laravel 版本。
如果你不确定你的功能是主要的还是次要的,请咨询 [LaraChat](https://larachat.co/) Slack 团队上的 `#internals` 频道中询问 Taylor Otwell。
## 安全漏洞
如果你发现 Laravel 存在安全漏洞,请发送电子邮件给 Taylor Otwell: [taylor@laravel.com](mailto:taylor@laravel.com)。他会及时解决所有安全漏洞。
## 编码风格
Laravel 遵循 [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) 编码规范和 [PSR-4](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md) 自动加载规范。
### 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](https://styleci.io/) 会自动修正样式后再合并到 Laravel 仓库中。这样使得我们可以专注于贡献内容本身而不是编码风格。
- 前言
- 翻译说明
- 发行说明
- 升级指南
- 贡献导引
- 入门指南
- 安装
- 配置信息
- 文件夹结构
- Homestead
- Valet
- 部署
- 核心架构
- 请求周期
- 服务容器
- 服务提供者
- Facades
- Contracts
- 基础功能
- 路由
- 中间件
- CSRF 保护
- 控制器
- 请求
- 响应
- 视图
- URL
- Session
- 表单验证
- 错误
- 日志
- 前端开发
- Blade 模板
- 本地化
- 前端指南
- 编辑资源 Mix
- 安全相关
- 用户认证
- Passport OAuth 认证
- 用户授权
- 加密解密
- 哈希
- 重置密码
- 综合话题
- Artisan 命令行
- 广播系统
- 缓存系统
- 集合
- 事件系统
- 文件存储
- 辅助函数
- 邮件发送
- 消息通知
- 扩展包开发
- 队列
- 任务调度
- 数据库
- 快速入门
- 查询构造器
- 分页
- 数据库迁移
- 数据填充
- Redis
- Eloquent ORM
- 快速入门
- 模型关联
- Eloquent 集合
- 修改器
- API 资源
- 序列化
- 测试相关
- 快速入门
- HTTP 测试
- 浏览器测试 Dusk
- 数据库测试
- 测试模拟器
- 官方扩展包
- Cashier 交易工具包
- Envoy 部署工具
- Horizon
- Scout 全文搜索
- Socialite 社会化登录