如何為PHP貢獻代碼

碼頭工人 8年前發布 | 13K 次閱讀 PHP

原文  http://www.ituring.com.cn/article/210043

PHP在之前把源代碼遷移到了git下管理, 同時也在github(https://github.com/php/php-src)上做了鏡像, 這樣一來, 就方便了更多的開發者為PHP來貢獻代碼.

今天寫這篇文章, 就是為了給在國內的同學們, 愿意為PHP開源社區做貢獻的同學們, 做個示例, 如何為PHP來貢獻你的智慧.

現在, 假設你要為貢獻一個新特性, 那么你除了要做下面的這些步驟以外, 還需要在wiki.php.net上提交一個RFC, 待會我會介紹這個, 現在讓我們先簡單點, 假設你只是要為PHP修復一個bug(一般來說, 大家可以在這里發現PHP已經報告的bug: PHP Bugs). 現在假設你已經想好了要怎么修復這個Bug.

  1. 首先, 你需要有一個github的賬號, 沒有的話, 來這里注冊: 注冊github.

  2. Fork PHP的源代碼, 在PHP的Github頁面上的右上角有一個fork按鈕, 點它

  3. Fork以后, 你就有了一份屬于你自己的PHP源代碼倉庫, 現在你就可以在這個倉庫下, 修改PHP的源代碼來為它修復Bug了.

具體開發沒什么好說的, 不過如果對于Git的使用有問題的話, 可以參考Git使用手冊, 比如這個: ProGit

我這里為大家提供一個簡單的說明, 如果在Github上開始開發, 在你自己的PHP代碼倉庫的頁面上, 會有一個說明, 比如在我的PHP倉庫頁面上https://github.com/laruence/php-src:

ssh git@github.com:laruence/php-src.gi 然后, 我就在本地開發環境上, 執行:

$git clone git@github.com:laruence/php-src.gi 然后, 你就得到了一個php-src目錄, 進去開發吧, :)

  1. 等你修復完成以后, 你提交到你屬于你自己的這個PHP倉庫中, 然后, 在你的PHP源代碼倉庫的Github頁面的右上角, 會有一個pull request按鈕. 點它.

提交的時候, 請注意你的提交說明的格式, 首先第一行應該是個簡短的說明(最多79個字符), 說明你做了什么修改. 如果一句話說不完, 就插入一個空行, 然后輸入大段的說明(參看New Commit Message Format) :

\n \n \ 如果你是修復了一個列在bugs.php.net上的bug, 那么你的簡短說明應該類似如下格式:

Fixed Bug #bug號 (Bug的描述) 5. 然后, 填寫相關的信息, Github就會給PHP的pull request郵件組發送一份包含著你的更新的Pull Request郵件(大家不用擔心你的英文, 只要你能說出來, 我們就能看懂, 當然, 如果你實在不愿意寫英文, 也沒關系, 寫中文吧, 我看到了會處理, 我處理不了的, 我也會為大家翻譯).

  1. 最后, 如果PHP的Committers們認為你的修復正確(有一些為PHP貢獻代碼要注意的選項, 我留在下面). 就會Merge你的Pull Request到PHP的源代碼中.

現在, 假設你要提交的是, 一個更新(添加新函數, 添加新語法), 那么在你提交了Pull Request的同時, 你還需要往internals@lists.php.net郵件組發送一個郵件, 來說明你為什么要提交這個更新, 讓在這個郵件組的人們一起來討論, 幫助你完善你的想法.

最后, 在你為PHP貢獻了一些更新以后(被Committer接受的更新), 那么你就可以嘗試在: Register Svn Accout上來申請一個你自己的PHP Developer賬號了. :)

附錄:

為PHP貢獻源代碼有幾點要注意的(常見的問題): 1. 只寫C89兼容的代碼, 比如, 不要用單行注釋(//), 變量的定義一定要在所有語句之前(block的開始).. 2. 變量命名, 遵循PHP已有的規范, 不要使用駝峰命名. 3. 對于一些非常小的更新, 比如代碼中有拼寫錯誤, 還是鼓勵大家到bugs.php.net上提交Patch, 畢竟Merge Pull Request有的時候會比較麻煩.

更多的PHP代碼規范, 參看這里: Submitting patch 注:本文轉自技術頭條

 本文由用戶 碼頭工人 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!