厭倦了一遍又一遍地捍衛程式碼品質? GrumPHP 將為您做這件事!這個 Composer 外掛程式將在你的套件儲存庫中註冊一些 git hooks。當有人提交更改時,GrumPHP 將對提交的程式碼執行一些測試。如果測試失敗,您將無法提交變更。這個方便的工具不僅可以改進您的程式碼庫,還可以教導您的同事按照您作為團隊確定的最佳實踐編寫更好的程式碼。
GrumPHP 內建了一組常見任務。您將能夠以最少的配置使用 GrumPHP。
我們不想讓您厭倦所有的細節,所以快點:自己安裝它並釋放 GrumPHP 的力量!
為了使該套件正常工作,您必須確保可以在命令列上發現以下工具:
php
作曲家
git
這個套件是一個 Composer 插件,應該使用 Composer 安裝到專案的開發依賴項:
將 GrumPHP 安裝為不含依賴項的 Phar:
作曲家需要 --dev phpro/grumphp-shim
安裝 GrumPHP 及其相依性:
composer require --dev phpro/grumphp
透過 phive 安裝沒有依賴項和自動化 git hook 的 GrumPHP
phive install grumphp
安裝套件後,GrumPHP 會將其本身附加到專案的 git hooks 中。您將在作曲家日誌中看到以下訊息:
當心! GrumPHP 正在嗅探您的提交!
GrumPHP 永遠不會強迫您使用特定任務。您可以選擇適合您需求的任務,並立即啟用或停用任何任務!請參閱composer.json 中的suggest
部分。
注意:GrumPHP 將覆蓋現有的鉤子,除非您使用--no-plugins
或--no-scripts
運行composer install
。我們確實會建立 git hook 的備份,但最好在嘗試安裝 GrumPHP 之前確保您也有自訂 hook 的備份。
安裝 GrumPHP 時遇到問題?了解如何:
全域安裝
使用異國情調的專案結構進行安裝
GrumPHP 中的某些內容可以在專案根目錄(執行 grumphp 指令的目錄)中的grumphp.yml
或grumphp.yml.dist
或grumphp.dist.yml
檔案中進行設定。您可以在composer.json
或控制台命令的--config
選項中指定自訂設定檔名稱和位置。
# grumphp.ymlgrumphp:hooks_dir: ~hooks_preset: localgit_hook_variables:VAGRANT_HOST_DIR: .VAGRANT_PROJECT_DIR: /var/wwwEXEC_GRUMPHP_COMMAND: execENV: {}side_onfailEXEC_GRUMP_COMMAND:。 seprocess_timeout: 60ascii: 失敗:grumphp-grumpy.txt成功:grumphp-happy.txt並行:啟用: truemax_workers: 32fixer:啟用: truefix_by_default: falseenvironment:files: []variables: {}paths: []tasks: {}testsuites: []extensions: []
配置的詳細資訊分為以下部分。
參數 – GrumPHP 本身的配置設定。
任務 – 執行程式碼驗證的外部任務及其各自的配置。
測試套件
擴充
擴展TaskRunner
約定檢查器
由於 GrumPHP 只是一個 CLI 工具,因此可以觸發以下命令:
配置
git:初始化
git:deinit
git:預提交
git:提交訊息
跑步
GrumPHP 適用於 PHP 5.6 或更高版本。
該軟體包已使用以下 git 用戶端進行了測試:
命令列介面
命令列介面
命令列視窗
PhpStorm Git
Atlassian 源樹
Syntevo SmartGit
許多任務已經可用,以確保您的團隊編寫出出色的程式碼。我們一直在尋求支持新任務。請隨意記錄問題或為我們忘記的任務建立拉取請求。
您是否缺少某個功能或發現了錯誤?將其記錄在問題追蹤器中!想幫忙嗎?請隨時與我們聯繫!
常問問題
Bug 和功能請求在 GitHub 上進行追蹤。在貢獻您的程式碼之前,請先查看我們的規則。
GrumPHP 根據 MIT 許可證獲得許可。