貢獻(xiàn)導(dǎo)引
貢獻(xiàn)導(dǎo)引
貢獻(xiàn)指南
錯(cuò)誤反饋
為了鼓勵(lì)積極協(xié)作,Laravel 強(qiáng)烈地鼓勵(lì)使用 Pull Request 指出修改的內(nèi)容,而不僅僅只是反饋錯(cuò)誤。「錯(cuò)誤反饋」也可以用 PR 來(lái)提交失敗測(cè)試。
如果你要提交錯(cuò)誤反饋,你的問(wèn)題應(yīng)該包含標(biāo)題和明確的問(wèn)題描述,并盡可能多的提供相關(guān)的信息和演示該問(wèn)題的代碼示例。錯(cuò)誤反饋的目的是讓你和其他人可以輕松地重現(xiàn)并修復(fù)錯(cuò)誤。
請(qǐng)記住,錯(cuò)誤反饋的初衷是讓其它有相同問(wèn)題的人能夠和你協(xié)作解決問(wèn)題。不要指望反饋錯(cuò)誤后會(huì)很快有人修復(fù)它。創(chuàng)建錯(cuò)誤反饋是能幫助你和其他人開始著手修復(fù)問(wèn)題的途徑。
Laravel 源代碼托管在 GitHub 上面,并且每個(gè) Laravel 的項(xiàng)目都有自己的代碼倉(cāng)庫(kù):
核心開發(fā)討論
你可以在 Laravel Ideas 的 問(wèn)題板 中對(duì) Laravel 現(xiàn)有的行為提出新特性或者改進(jìn)建議。 如果你提出了一個(gè)新功能,我們希望請(qǐng)你至少完成該特性所需的一些代碼。
關(guān)于 Bug,新功能和新功能的實(shí)現(xiàn)的非正式討論會(huì)在 Laravel Discord 的 #internals
頻道中進(jìn)行。Laravel 的維護(hù)者 Taylor Otwell, 通常會(huì)在工作日的早上八點(diǎn)到下午五點(diǎn) (UTC-06:00 或 America/Chicago) 出現(xiàn)在頻道上,偶爾也會(huì)在其它時(shí)間出現(xiàn)在該頻道。
分支選擇
所有 Bug 修復(fù)都應(yīng)該發(fā)送到最新的穩(wěn)定版分支或當(dāng)前的 LTS 分支上。Bug 修復(fù)決不應(yīng)該發(fā)送到 master
分支,除非修復(fù)的是僅在即將發(fā)布的版本中發(fā)布的功能。
次要的完全向后兼容的新功能會(huì)發(fā)送到最新的穩(wěn)定分支。
主要的新功能都應(yīng)該發(fā)送到 master
分支,其中包含即將發(fā)布的 Laravel 版本。
如果你不確定你的功能符合主要的還是次要的,請(qǐng)?jiān)? Laravel Discord 的 #internals
頻道中詢問(wèn) Taylor Otwell。
編譯資產(chǎn)
如果你提交的更改會(huì)影響已編譯的文件,例如在 laravel/laravel
儲(chǔ)存庫(kù)中的 resources/sass
或者 resources/js
中的大多數(shù)文件,請(qǐng)不要提交已編譯好的文件。因?yàn)樗鼈兂叽巛^大,審查人員無(wú)法進(jìn)行實(shí)際審查。這樣可以被利用向 Laravel 中注入惡意代碼,為了防止這種情況的發(fā)生,所有靜態(tài)資產(chǎn)都由 Laravel 維護(hù)者生成并提交。
安全漏洞
如果你發(fā)現(xiàn) Laravel 存在安全漏洞,請(qǐng)發(fā)送電子郵件給 Taylor Otwell: taylor@laravel.com。他會(huì)及時(shí)處理所有的安全漏洞。
編碼風(fēng)格
Laravel 遵循 PSR-2 編碼規(guī)范和 PSR-4 自動(dòng)加載規(guī)范。
PHPDoc
以下是正確寫法的 Laravel 文檔注釋。請(qǐng)注意,@param
屬性后跟兩個(gè)空格、參數(shù)類型、兩個(gè)空格,最后是變量名稱:
/** * 在容器中注冊(cè)綁定。 * * @param string|array $abstract * @param \Closure|string|null $concrete * @param bool $shared * @return void * @throws \Exception */public function bind($abstract, $concrete = null, $shared = false){ //}
StyleCI
別擔(dān)心你的代碼風(fēng)格不夠漂亮!在合并拉取請(qǐng)求后,StyleCI 將會(huì)自動(dòng)把所有樣式進(jìn)行修正,再合并到 Laravel 存儲(chǔ)庫(kù)中。這使得我們更多的關(guān)注貢獻(xiàn)的內(nèi)容而不是代碼風(fēng)格。