Das Tool „PHP Coding Standards Fixer“ (PHP CS Fixer) korrigiert Ihren Code so, dass er den Standards entspricht. Egal, ob Sie den PHP-Codierungsstandards folgen möchten, wie sie in PSR-1, PSR-2 usw. definiert sind, oder anderen Community-gesteuerten Standards wie dem Symfony-Standard. Sie können den Stil Ihres (Teams) auch durch Konfiguration definieren.
Es kann Ihren Code modernisieren (z. B. die Konvertierung der pow
-Funktion in den **
Operator in PHP 5.6) und (mikro-)optimieren.
Wenn Sie bereits einen Linter verwenden, um Probleme mit Codierungsstandards in Ihrem Code zu identifizieren, wissen Sie, dass es mühsam ist, diese manuell zu beheben, insbesondere bei großen Projekten. Dieses Tool erkennt sie nicht nur, sondern behebt sie auch für Sie.
Hinweis: Jede neue PHP-Version erfordert einen enormen Aufwand, um die neue Syntax zu unterstützen. Aus diesem Grund wird die neueste PHP-Version möglicherweise noch nicht unterstützt. Wenn Sie es benötigen, denken Sie bitte darüber nach, das Projekt auf jede geeignete Weise zu unterstützen, zum Beispiel durch Codebeiträge oder die Überprüfung bestehender PRs. Um PHP CS Fixer auf noch nicht unterstützten Versionen „auf eigenes Risiko“ auszuführen, nutzen Sie PHP_CS_FIXER_IGNORE_ENV.
Die empfohlene Methode zur Installation von PHP CS Fixer besteht darin, Composer in einer dedizierten composer.json
Datei in Ihrem Projekt zu verwenden, beispielsweise im Verzeichnis tools/php-cs-fixer
:
mkdir -p tools/php-cs-fixer
composer require --working-dir=tools/php-cs-fixer friendsofphp/php-cs-fixer
Oder verwenden Sie die Hauptdatei composer.json
:
composer require --dev friendsofphp/php-cs-fixer
Weitere Einzelheiten und andere Installationsmethoden finden Sie in der Installationsanleitung.
Sie können vorgefertigte Docker-Images verwenden, um php-cs-fixer
auszuführen.
docker run -it --rm -v $(pwd):/code ghcr.io/php-cs-fixer/php-cs-fixer:${FIXER_VERSION:-3-php8.3} fix src
$FIXER_VERSION
das im obigen Beispiel verwendet wird, ist eine Kennung einer Version, die Sie verwenden möchten, die auf der Kombination von Fixer- und PHP-Versionen basiert. Es gibt unterschiedliche Tags für die SemVer-Ebene und PHP-Version jedes Fixers mit der Syntax <php-cs-fixer-version>-php<php-version>
. Zum Beispiel:
3.57.0-php7.4
3.57-php8.0
3-php8.3
Vorausgesetzt, Sie haben PHP CS Fixer wie oben beschrieben installiert, können Sie den folgenden Befehl ausführen, um die PHP-Dateien im src
-Verzeichnis zu reparieren:
tools/php-cs-fixer/vendor/bin/php-cs-fixer fix src
Weitere Einzelheiten finden Sie in der Verwendung, der Liste der integrierten Regeln, der Liste der Regelsätze und der Dokumentation zur Konfigurationsdatei.
Wenn Sie Codestile anwenden müssen, die vom Tool nicht unterstützt werden, können Sie benutzerdefinierte Regeln erstellen.
Es gibt spezielle Plugins für:
Der PHP CS Fixer wird auf GitHub unter https://github.com/PHP-CS-Fixer/PHP-CS-Fixer verwaltet. Dort sind Fehlerberichte und Ideen zu neuen Features willkommen.
Sie erreichen uns in den GitHub-Diskussionen zum Projekt, zur Konfiguration, zu möglichen Verbesserungen, Ideen und Fragen. Besuchen Sie uns gerne dort!
Das Tool verfügt über eine ganze Reihe integrierter Fixer, aber jeder ist herzlich willkommen, weitere davon beizutragen.