Sind Sie es leid, immer wieder die Qualität des Codes zu verteidigen? GrumPHP erledigt das für Sie! Dieses Composer-Plugin registriert einige Git-Hooks in Ihrem Paket-Repository. Wenn jemand Änderungen festschreibt, führt GrumPHP einige Tests für den festgeschriebenen Code durch. Wenn die Tests fehlschlagen, können Sie Ihre Änderungen nicht festschreiben. Dieses praktische Tool verbessert nicht nur Ihre Codebasis, sondern bringt Ihren Kollegen auch bei, besseren Code zu schreiben und dabei die Best Practices zu befolgen, die Sie als Team festgelegt haben.
GrumPHP verfügt über eine Reihe allgemeiner Aufgaben. Sie können GrumPHP mit einem Minimum an Konfiguration verwenden.
Wir möchten Sie nicht mit allen Details langweilen, also schnell: Installieren Sie es selbst und entfesseln Sie die Kraft von GrumPHP!
Damit dieses Paket funktioniert, müssen Sie sicherstellen, dass die folgenden Tools in der Befehlszeile erkennbar sind:
php
Komponist
Idiot
Dieses Paket ist ein Composer-Plugin und sollte mit Composer in der Entwicklungsabhängigkeit Ihres Projekts installiert werden:
Installieren Sie GrumPHP als Phar ohne Abhängigkeiten:
Composer erfordert --dev phpro/grumpphp-shim
Installieren Sie GrumPHP mit Abhängigkeiten:
composer require --dev phpro/grumphp
Installieren Sie GrumPHP ohne Abhängigkeiten und automatisierte Git-Hooks über Phive
phive install grumphp
Wenn das Paket installiert ist, hängt sich GrumPHP an die Git-Hooks Ihres Projekts an. In den Composer-Protokollen wird die folgende Meldung angezeigt:
Achtung! GrumPHP schnüffelt an Ihren Commits!
GrumPHP wird Sie niemals dazu drängen, eine bestimmte Aufgabe auszuführen. Sie können die Aufgaben auswählen, die Ihren Anforderungen entsprechen, und jede Aufgabe im Handumdrehen aktivieren oder deaktivieren! Weitere Informationen finden Sie im Abschnitt suggest
in „composer.json“.
Hinweis: GrumPHP überschreibt vorhandene Hooks, es sei denn, Sie führen composer install
mit --no-plugins
oder --no-scripts
aus. Wir erstellen zwar ein Backup Ihres Git-Hooks, aber am besten stellen Sie sicher, dass Sie auch ein Backup Ihrer benutzerdefinierten Hooks haben, bevor Sie versuchen, GrumPHP zu installieren.
Haben Sie Probleme bei der Installation von GrumPHP? Erfahren Sie, wie Sie:
Global installieren
Installieren Sie mit einer exotischen Projektstruktur
Einige Dinge in GrumPHP können in einer Datei grumphp.yml
, grumphp.yml.dist
oder grumphp.dist.yml
im Stammverzeichnis Ihres Projekts (dem Verzeichnis, in dem Sie den Befehl „grumphp“ ausführen) konfiguriert werden. Sie können einen benutzerdefinierten Konfigurationsdateinamen und -speicherort in composer.json
oder in der Option --config
der Konsolenbefehle angeben.
# grumphp.ymlgrumphp:hooks_dir: ~hooks_preset: localgit_hook_variables:VAGRANT_HOST_DIR: .VAGRANT_PROJECT_DIR: /var/wwwEXEC_GRUMPHP_COMMAND: execENV: {}stop_on_failure: falseignore_unstaged_changes: falsehide_circumvention_tip: falseprocess_timeout: 60ascii:failed: grumphp-grumpy.txtsucceeded: grumphp-happy.txtparallel:enabled: truemax_workers: 32fixer:enabled: truefix_by_default: falseenvironment:files: []variables: {}paths: []tasks: {}testsuites: []extensions: []
Einzelheiten zur Konfiguration sind in die folgenden Abschnitte unterteilt.
Parameter – Konfigurationseinstellungen für GrumPHP selbst.
Aufgaben – Externe Aufgaben, die die Codevalidierung und ihre jeweiligen Konfigurationen durchführen.
TestSuites
Erweiterungen
Erweitern des TaskRunner
Konventionsprüfer
Da es sich bei GrumPHP lediglich um ein CLI-Tool handelt, können folgende Befehle ausgelöst werden:
konfigurieren
git:init
git:deinit
git:pre-commit
git:commit-msg
laufen
GrumPHP funktioniert mit PHP 5.6 oder höher.
Dieses Paket wurde mit folgenden Git-Clients getestet:
CLI-Unix
CLI-Mac
CLI-Windows
PHPStorm Git
Atlassian SourceTree
Syntevo SmartGit
Es stehen bereits viele Aufgaben zur Verfügung, um sicherzustellen, dass Ihr Team großartigen Code schreibt. Wir freuen uns immer über Unterstützung bei neuen Aufgaben. Fühlen Sie sich frei, ein Problem zu protokollieren oder eine Pull-Anfrage für eine Aufgabe zu erstellen, die wir vergessen haben.
Fehlt Ihnen eine Funktion oder haben Sie einen Fehler entdeckt? Tragen Sie es in den Issue-Tracker ein! Möchten Sie helfen? Nehmen Sie gerne Kontakt zu uns auf!
FAQ
Fehler und Funktionsanfragen werden auf GitHub verfolgt. Bitte werfen Sie einen Blick auf unsere Regeln, bevor Sie Ihren Code beisteuern.
GrumPHP ist unter der MIT-Lizenz lizenziert.