PHP-CS-Fixer für PHP: Komplettguide mit Beispielen
1. Was ist PHP-CS-Fixer und warum braucht man es?
PHP-CS-Fixer (PHP Coding Standards Fixer) ist ein leistungsstarkes Tool zur automatischen Formatierung von PHP-Code nach definierten Codierungsstandards. Es analysiert den Quellcode, erkennt Verstöße gegen Formatierungsregeln (Einrückungen, Leerzeichen, Zeilenumbrüche, Reihenfolge von Importen, Verwendung kurzer Syntaxen usw.) und korrigiert diese automatisch. Die Bibliothek ist ein unverzichtbarer Helfer in modernen PHP-Projekten, insbesondere bei der Teamarbeit.
Warum ist das wichtig? Erstens sorgt es für einen einheitlichen Codestil im Team. Wenn mehrere Entwickler an einem Projekt arbeiten, hat jeder seine eigenen Formatierungsgewohnheiten. PHP-CS-Fixer löst dieses Problem, indem es den gesamten Code auf einen einheitlichen Standard bringt. Zweitens spart es Zeit beim Code-Review: Anstatt über Einrückungen und Leerzeichen zu diskutieren, können sich Entwickler auf Logik und Architektur konzentrieren. Drittens verhindert die automatische Formatierung "Rausch"-Änderungen in Commits, bei denen die Korrektur einer Zeile die Formatierung der gesamten Datei verändert.
PHP-CS-Fixer unterstützt zahlreiche integrierte Regeln (über 100) und ermöglicht die Erstellung eigener Regeln. Das Tool lässt sich problemlos in CI/CD-Pipelines, Versionskontrollsysteme (über Pre-Commit-Hooks) und IDEs integrieren. Es ist kompatibel mit PSR-1, PSR-2, PSR-12, Symfony, Doctrine und anderen gängigen Codierungsstandards.
2. Installation
PHP-CS-Fixer wird über Composer installiert – den Abhängigkeitsmanager für PHP. Es wird empfohlen, es global oder als Dev-Abhängigkeit im Projekt zu installieren.
# Globale Installation (empfohlen für die Verwendung in jedem Projekt)
composer global require friendsofphp/php-cs-fixer
# Installation als Dev-Abhängigkeit in einem bestimmten Projekt
composer require --dev friendsofphp/php-cs-fixer
# Installation überprüfen
php-cs-fixer --version
Stellen Sie nach der globalen Installation sicher, dass das Verzeichnis ~/.composer/vendor/bin (oder %USERPROFILE%\AppData\Roaming\Composer\vendor\bin unter Windows) zur PATH-Umgebungsvariable hinzugefügt wurde.
3. Schnellstart – Minimales Arbeitsbeispiel
Erstellen Sie eine Datei example.php mit "unsauberem" Code:
<?php
$name = "John";
$age=25;
function greet($name){
echo "Hello, ".$name;
}
greet($name);
Formatieren Sie sie nun mit PHP-CS-Fixer:
php-cs-fixer fix example.php --rules=@PSR12
Nach der Ausführung sieht die Datei so aus:
<?php
$name = 'John';
$age = 25;
function greet($name): void
{
echo 'Hello, '.$name;
}
greet($name);
Wie Sie sehen, hat PHP-CS-Fixer Leerzeichen um den Zuweisungsoperator hinzugefügt, doppelte Anführungszeichen durch einfache ersetzt (wenn keine Interpolation vorliegt), den Rückgabetyp : void ergänzt, geschweifte Klammern formatiert und Leerzeilen zur besseren Lesbarkeit eingefügt.
4. Wichtige Methoden/Funktionen/Klassen
4.1. PhpCsFixer\Config::create()
Signatur: public static Config::create(): Config
Funktion: Erstellt eine neue Konfigurationsinstanz zur Festlegung der Formatierungsregeln.
<?php
use PhpCsFixer\Config;
$config = Config::create()
->setRules([
'@PSR12' => true,
'array_syntax' => ['syntax' => 'short'],
])
->setFinder(
PhpCsFixer\Finder::create()
->in(__DIR__ . '/src')
);
4.2. PhpCsFixer\Finder::create()
Signatur: public static Finder::create(): Finder
Funktion: Erstellt ein Objekt zur Suche nach PHP-Dateien, die formatiert werden sollen.
<?php
use PhpCsFixer\Finder;
$f Auch in der Bibliothek
Elasticsearch-Client für TypeScript: @elastic/elasticsearch
Redis-Client für C++: Verbindung, Installation und Anwendungsbeispiele
Sarama für Go: Vollständiges Tutorial mit Beispielen
Kryptographie in Node.js: Verschlüsselung und Hashing mit crypto
React für JavaScript (Node.js): Vollständiger Leitfaden mit Beispielen