Swiss Knife
Swiss Knife ist ein Tool, das verschiedene Refactorings automatisiert. Es finalisiert Klassen ohne Kindklassen, macht Konstanten privat und nimmt andere Verbesserungen vor, um deinen Code sicherer und effizienter zu machen.
-
Welche Vorteile bietet Swiss Knife?
Das Tool automatisiert oft lästige, aber notwendige Refactorings, wie das Schließen von Klassen und Privatisieren von Konstanten. Dies reduziert Sicherheitsrisiken und macht den Code wartbarer. -
Wann solltest du Swiss Knife verwenden?
Verwende Swiss Knife, wenn du PHPStan auf Level 3 oder 4 gebracht hast. Es ist besonders nützlich, wenn du regelmäßig Refactorings durchführen möchtest, ohne viel Zeit manuell zu investieren. -
Wie wird Swiss Knife installiert und genutzt?
Installation:lua
composer require rector/swiss-knife --dev
Erste Befehle:bash
vendor/bin/swiss-knife finalize-classes /src /tests
vendor/bin/swiss-knife privatize-constants /src /tests
-
Warum sollte ich Swiss Knife verwenden?
Swiss Knife automatisiert wiederkehrende Refactorings, die den Code robuster und wartbarer machen. Es spart dir Zeit bei der manuellen Umstellung und sorgt dafür, dass dein Code modernen Best Practices entspricht. -
Wann sollte ich Swiss Knife in meinem Projekt verwenden?
Sobald du PHPStan auf Level 3 oder 4 gebracht hast und sicherstellen möchtest, dass dein Code so effizient und sicher wie möglich ist, kannst du Swiss Knife einsetzen, um Routineaufgaben zu automatisieren. -
Wie hilft Swiss Knife meinem Code langfristig?
Indem es Klassen schließt und Konstanten privatisiert, macht es den Code sicherer und leichter wartbar. Zudem reduziert es das Risiko von Fehlern, die durch unsachgemäße Vererbung oder übermäßigen Zugriff auf Konstanten entstehen.
Tipps zur Nutzung von Swiss Knife CLI
Diese Tipps und Kommandos helfen dir, das Swiss Knife CLI-Tool optimal zu nutzen, um die Qualität deines PHP-Projekts zu verbessern und eine nahtlose CI-Integration zu gewährleisten.
-
PSR-4 Autoloading auf 100 % bringen:
PSR-4 Autoloading sorgt für ein schnelleres Laden des Projekts und hilft, den Code besser zu strukturieren. So kannst du PSR-4 Autoloading sicherstellen:- Führe den folgenden Befehl aus, um mehrere Klassen in einer Datei zu finden und zu separaten Dateien zu extrahieren:
- Falls du mehrere PSR-4-Namensräume in deiner
composer.json
zusammenführen möchtest, verwende diesen Befehl, um die Namensräume der Dateien anzupassen:
vbnet
vendor/bin/swiss-knife namespace-to-psr-4 src --namespace-root "App\\"
bash
vendor/bin/swiss-knife find-multi-classes /src
-
Unit Tests erkennen:
Wenn du Unit Tests von anderen Testarten isolieren möchtest, kannst du Swiss Knife nutzen, um Tests ohne Abhängigkeit von Kernel oder Containern zu identifizieren:bash
vendor/bin/swiss-knife detect-unit-tests /tests
-
Spotter-Kommandos für CI-Integration:
Diese Kommandos sind nützlich, um potenzielle Probleme vor dem Mergen eines Pull Requests zu erkennen:- Kommentierten Code finden und entfernen: Kommentierter Code kann veraltet sein und sollte entfernt werden. Mit folgendem Befehl kannst du nach Kommentaren suchen und diese automatisiert entfernen:Um nur Kommentare über einer bestimmten Anzahl an Zeilen zu erkennen, kannst du die
--line-limit
Option verwenden: - Konflikte im Code erkennen: Um sicherzustellen, dass keine Konflikte unbemerkt im Code bleiben, füge diesen Befehl deiner CI hinzu:
- Zu lange Dateipfade validieren: Wenn du auf Windows arbeitest, können zu lange Dateipfade ein Problem sein. Dieser Befehl hilft, solche Probleme zu vermeiden:
bash
vendor/bin/swiss-knife validate-file-length /src /tests
bash
vendor/bin/swiss-knife check-conflicts src tests
css
vendor/bin/swiss-knife check-commented-code /src --line-limit 5
bash
vendor/bin/swiss-knife check-commented-code /src
- Kommentierten Code finden und entfernen: Kommentierter Code kann veraltet sein und sollte entfernt werden. Mit folgendem Befehl kannst du nach Kommentaren suchen und diese automatisiert entfernen:Um nur Kommentare über einer bestimmten Anzahl an Zeilen zu erkennen, kannst du die
-
Dateien ändern und verbessern:
- Editorconfig erstellen: Um einheitliche Formatierungen in deinem Projekt sicherzustellen, kannst du automatisch eine
.editorconfig
Datei erstellen: - Klassen finalisieren: Das Finalisieren von Klassen ermöglicht es Tools wie PHPStan oder Rector, sicherere Änderungen vorzunehmen, z.B. das Hinzufügen von Rückgabewert-Deklarationen:
- JSON-Dateien lesbarer machen: Falls du JSON-Dateien analysierst oder mit Testdaten arbeitest, kann es hilfreich sein, sie in einem lesbaren Format darzustellen:
bash
vendor/bin/swiss-knife pretty-json phpstan-result.json
bash
vendor/bin/swiss-knife finalize-classes /src /tests
bash
vendor/bin/swiss-knife dump-editorconfig
- Editorconfig erstellen: Um einheitliche Formatierungen in deinem Projekt sicherzustellen, kannst du automatisch eine
-
Verborgene Funktionen entdecken:
Viele der Swiss Knife Kommandos haben zusätzliche Optionen, die mit der--help
Option aufgerufen werden können. Dies kann dir helfen, verborgene Funktionen zu entdecken, die deine Arbeit noch effizienter machen.
Erreichen Sie unsere PHP Consultants Spezialisten
Wir sind Experten für PHP und helfen Ihnen, Ihre digitalen Herausforderungen zu meistern. Unser erfahrenes Team unterstützt Sie bei PHP Updates, PHP Refactoring und berät Sie remote zu allen Fragen rund um PHP. Mit unseren vollautomatischen CI/CD Deployments und einer robusten Docker-Infrastruktur bringen wir Ihre PHP-Projekte auf das nächste Level. Vertrauen Sie auf unsere Expertise für zuverlässige und skalierbare PHP-Lösungen.