PHP-CS-Fixer für PHP: Komplettguide mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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                    

Empfehlungen