2018-05-21

如何贡献我的源代码

此文档介绍了 ThinkPHP 团队的组成以及运转机制,您提交的代码将给 ThinkPHP 项目带来什么好处,以及如何才能加入我们的行列。

通过 Github 贡献代码

ThinkPHP 目前使用 Git 来控制程序版本,如果你想为 ThinkPHP 贡献源代码,请先大致了解 Git 的使用方法。我们目前把项目托管在 GitHub 上,任何 GitHub 用户都可以向我们贡献代码。

参与的方式很简单,fork一份 ThinkPHP 的代码到你的仓库中,修改后提交,并向我们发起pull request申请,我们会及时对代码进行审查并处理你的申请。审查通过后,你的代码将被merge进我们的仓库中,这样你就会自动出现在贡献者名单里了,非常方便。

我们希望你贡献的代码符合:

  • ThinkPHP 的编码规范
  • 适当的注释,能让其他人读懂
  • 遵循 Apache2 开源协议

如果想要了解更多细节或有任何疑问,请继续阅读下面的内容

注意事项

  • 本项目代码格式化标准选用 PSR-2
  • 类名和类文件名遵循 PSR-4
  • 对于 Issues 的处理,请使用诸如 fix #xxx(Issue ID) 的 commit title 直接关闭 issue。
  • 系统会自动在 PHP 5.4 5.5 5.6 7.0 和 HHVM 上测试修改,其中 HHVM 下的测试容许报错,请确保你的修改符合 PHP 5.4 ~ 5.6 和 PHP 7.0 的语法规范;
  • 管理员不会合并造成 CI faild 的修改,若出现 CI faild 请检查自己的源代码或修改相应的单元测试文件

GitHub Issue

GitHub 提供了 Issue 功能,该功能可以用于:

  • 提出 bug
  • 提出功能改进
  • 反馈使用体验

该功能不应该用于:

  • 提出修改意见(涉及代码署名和修订追溯问题)
  • 不友善的言论

快速修改

GitHub 提供了快速编辑文件的功能

  1. 登录 GitHub 帐号;
  2. 浏览项目文件,找到要进行修改的文件;
  3. 点击右上角铅笔图标进行修改;
  4. 填写 Commit changes 相关内容(Title 必填);
  5. 提交修改,等待 CI 验证和管理员合并。

若您需要一次提交大量修改,请继续阅读下面的内容

完整流程

  1. fork本项目;
  2. 克隆(clone)你 fork 的项目到本地;
  3. 新建分支(branch)并检出(checkout)新分支;
  4. 添加本项目到你的本地 git 仓库作为上游(upstream);
  5. 进行修改,若你的修改包含方法或函数的增减,请记得修改单元测试文件
  6. 变基(衍合 rebase)你的分支到上游 master 分支;
  7. push 你的本地仓库到 GitHub;
  8. 提交 pull request
  9. 等待 CI 验证(若不通过则重复 5~7,不需要重新提交 pull request,GitHub 会自动更新你的 pull request);
  10. 等待管理员处理,并及时 rebase 你的分支到上游 master 分支(若上游 master 分支有修改)。

若有必要,可以 git push -f 强行推送 rebase 后的分支到自己的 fork

绝对不可以使用 git push -f 强行推送修改到上游

注意事项

  • 若对上述流程有任何不清楚的地方,请查阅 GIT 教程,如 这个
  • 对于代码不同方面的修改,请在自己 fork 的项目中创建不同的分支(原因参见完整流程第9条备注部分);
  • 变基及交互式变基操作参见 Git 交互式变基

推荐资源

开发环境

  • XAMPP for Windows 5.5.x
  • WampServer (for Windows)
  • upupw Apache PHP5.4 ( for Windows)

或自行安装

  • Apache / Nginx
  • PHP 5.4 ~ 5.6
  • MySQL / MariaDB

Windows 用户推荐添加 PHP bin 目录到 PATH,方便使用 composer

Linux 用户自行配置环境, Mac 用户推荐使用内置 Apache 配合 Homebrew 安装 PHP 和 MariaDB

编辑器

Sublime Text 3 + phpfmt 插件

phpfmt 插件参数

{
    "autocomplete": true,
    "enable_auto_align": true,
    "format_on_save": true,
    "indent_with_space": true,
    "psr1_naming": false,
    "psr2": true,
    "version": 4
}

或其他 编辑器 / IDE 配合 PSR2 自动格式化工具

Git GUI

  • SourceTree
  • GitHub Desktop

或其他 Git 图形界面客户端

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容

  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,494评论 1 180
  • 今天重新把大学看的书拿出来重读,可惜当时没有认真看,里面有一部分是针对现在的高中生和大学生的,看之前就计划把文章的...
    闹闹小乖乖阅读 552评论 0 2
  • 我多想抱你一下 可我们都是刺猬 所以只能相互取暖,不能拥抱 左手和左手的摆动 右脚和右脚的步伐 却不会有刚好的牵手...
    屿上屿阅读 207评论 0 2
  • [七律]乡间记忆 青川碧水路嶙峋,阔野长空红领巾。 花样少年歌不落,笛音曼舞曲犹新。 春风拂柳祥和景,秋草漾波潋滟...
    霙愔阅读 342评论 2 2
  • 这几天姥姥的腰椎间盘突出更加严重了,根本走不了路,我家在东北的一个小城镇真实医疗等等各方面太差了。 ...
    欣茹妈妈育儿经阅读 149评论 0 1