# How to Contribute / 如何贡献代码 [English](#English) [简体中文](#简体中文) ## English ### Pull Requests 1. Fork the repository 2. Create a new branch for each feature or improvement 3. Send a pull request from each feature branch against the dev branch. It is very important to separate new features or improvements into separate feature branches, and to send a pull request for each branch. This allows each feature or improvement to be reviewed and merged individually. ### Coding Style All pull requests and commits **must** adhere to the [PSR-2 standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) at least. And we **recommend** adhering to the [PSR-12 standard](https://github.com/php-fig/fig-standards/blob/master/proposed/extended-coding-style-guide.md). ### Commit message The Commit message must concisely contain all your changes. Please **do not** use words like "fix", "improve" only. Please try to use **English** in the Commit message and use the following Type tags. - feat: add or modify a feature (feature) - fix: fix bugs (bug fix) - docs: documents (documentation) - style: formatting changes that do not affect the operation of the code, e.g. white-space, formatting, missing semicolons - refactor: refactoring Code changes that do not add features or fix bugs - perf: improves performance - test: when adding missing tests - chore: maintenance Changes to builders or helpers that do not affect the operation of the code, e.g., changes to config, Grunt Task management tools - revert: undo a previous commit Example: revert: type(scope):subject ### Rule If you want to add a new function for router callback, please follow the structure of the HomeController. Please use the function from PSR-7 like `$request->getParsedBodyParam()`, `getParsedBodyParam()` as possible. ## 简体中文 ### Pull Request 1. Fork 本项目 2. 为每一项新特性或改进创建一个新的分支 3. 为每一项新特性或改进创建一个独立的 Pull Request 至 dev 分支 我们建议你将不同的新特性置于不同的分支并以不同的 Pull Request 提交,这将有利于我们独立审查代码并独立合并。 ### 代码风格 所有的 Pull request 和 commit 都至少**必须**遵守 [PSR-2 标准](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)。 我们建议**最好**遵守 [PSR-12 标准](https://github.com/php-fig/fig-standards/blob/master/proposed/extended-coding-style-guide.md)。 ### Commit 消息 Commit 消息必须简洁地包含你所有的修改。请**不要**仅使用「修复」、「改进」等字样。 在 Commit 消息中请尽量使用**英文**,并且使用以下 Type 标签: - feat:新增或修改功能(feature) - fix:修补 bug(bug fix) - docs:文件(documentation) - style:格式 不影响程式码运行的变动,例如:white-space, formatting, missing semi colons - refactor:重构 不是新增功能,也非修补 bug 的程式码变动 - perf:改善效能(improves performance) - test:增加测试(when adding missing tests) - chore:维护 不影响程式码运行,建构程序或辅助工具的变动,例如修改 config、Grunt Task 任务管理工具 - revert:撤销回覆先前的 commit 例如:revert:type(scope):subject ### 规范 若你需要新增/修改 Router callback,请依照类似 HomeController 的形式。 如无必要,请不要使用`$request->getParam()`并尽量使用 PSR-7 中的`$request->getParsedBodyParam()`、`getParsedBodyParam()`等一系列用于获取参数的方法。 参考资料: