Tutorial: eine Konfigurationsdatei von PHP CS Fixer

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Antworten
r23
Beiträge: 2698
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Tutorial: eine Konfigurationsdatei von PHP CS Fixer

Beitrag von r23 »

Hallo,

eine Konfigurationsdatei von PHP CS Fixer ist eine Datei, die Sie in Ihrem Projektverzeichnis erstellen können, um die Regeln und die Dateien anzupassen, die vom PHP CS Fixer Tool analysiert werden sollen. Das PHP CS Fixer Tool ist ein Werkzeug, das Ihren Code automatisch nach Standards korrigiert; ob Sie den PHP-Codierungsstandards folgen wollen, wie sie in den PSR-1, PSR-2 usw. definiert sind, oder anderen von der Community getriebenen, wie z.B. dem Symfony-Stil. Sie können auch Ihren eigenen (Team-)Stil über die Konfiguration definieren.

Eine Konfigurationsdatei von PHP CS Fixer hat die Endung .php-cs-fixer.dist.php oder .php-cs-fixer.php und muss eine Instanz von PhpCsFixer\\ConfigInterface zurückgeben, die Sie mit verschiedenen Methoden konfigurieren können. Zum Beispiel können Sie die setRules-Methode verwenden, um die Regeln anzugeben, die Sie anwenden möchten, oder die setFinder-Methode, um den Finder anzugeben, der die zu analysierenden Dateien findet. Sie können auch andere Optionen wie setIndent oder setLineEnding verwenden, um den Einzug und das Zeilenende anzupassen.

Ein einfaches Beispiel für eine Konfigurationsdatei von PHP CS Fixer ist:

Code: Alles auswählen

<?php

$finder = PhpCsFixer\Finder::create()
    ->in(__DIR__)
;

$config = new PhpCsFixer\Config();
return $config->setRules([
        '@PSR12' => true,
        'array_syntax' => ['syntax' => 'short'],
    ])
    ->setFinder($finder)
;
Dieses Beispiel verwendet den PSR-12-Stil und die kurze Array-Syntax als Regeln und analysiert alle Dateien im aktuellen Verzeichnis. Sie können mehr Beispiele für Konfigurationsdateien von PHP CS Fixer auf der offiziellen Dokumentationsseite finden.

Beste Grüße

Ralf
r23
Beiträge: 2698
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Tutorial: eine Konfigurationsdatei von PHP CS Fixer

Beitrag von r23 »

@PSR12 ist ein erweiterter Programmierstil, der von der PHP-FIG (PHP Framework Interop Group) empfohlen wird. Er basiert auf PSR-1, dem grundlegenden Programmierstandard, und erweitert, ergänzt und ersetzt PSR-2, den Programmierstilführer¹. @PSR12 enthält Regeln und Erwartungen darüber, wie PHP-Code formatiert werden soll, um die Lesbarkeit und Konsistenz zu verbessern. Einige der wichtigsten Regeln sind:

- Alle PHP-Dateien MÜSSEN das Unix LF (linefeed) Zeilenende verwenden.

- Alle PHP-Dateien MÜSSEN mit einer nicht-leeren Zeile enden, die mit einem einzelnen LF abgeschlossen wird.

- Der schließende ?> Tag MUSS aus Dateien weggelassen werden, die nur PHP enthalten.

- Die weiche Grenze für die Zeilenlänge MUSS 120 Zeichen sein. Zeilen SOLLTEN NICHT länger als 80 Zeichen sein; längere Zeilen SOLLTEN in mehrere nachfolgende Zeilen von höchstens 80 Zeichen Länge aufgeteilt werden.

- Es DARF KEIN Leerzeichen am Ende von Zeilen geben.

- Es MUSS eine Leerzeile nach dem <?php Tag und vor dem ?> Tag geben, sofern vorhanden.

- Die Sichtbarkeit MUSS bei allen Eigenschaften und Methoden deklariert werden; abstract und final MÜSSEN vor der Sichtbarkeit deklariert werden; static MUSS nach der Sichtbarkeit deklariert werden.

- Die Steuerstrukturen - wie if, switch, for, foreach, while, do while etc. - MÜSSEN eine Leerzeile nach sich haben.

- Die öffnende geschweifte Klammer MUSS in derselben Zeile wie die Deklaration stehen und die schließende geschweifte Klammer MUSS in der nächsten Zeile nach dem Rumpf stehen.

- Die Argumente von Methodenaufrufen und Funktionsaufrufen MÜSSEN mit einem Leerzeichen getrennt werden. KEIN Leerzeichen DARF unmittelbar vor oder nach einer öffnenden oder schließenden runden Klammer existieren.

Dies sind nur einige Beispiele für die Regeln von @PSR12. Du kannst die vollständige Liste der Regeln auf der offiziellen Website ansehen.

Führe PHP-CS-Fixer aus, indem du folgenden Befehl eingibst:

Code: Alles auswählen

cd c:\tools\php-cs-fixer\vendor\bin
php php-cs-fixer fix --config=c:\xampp\htdocs\projekt\.php-cs-fixer.dist.php c:\xampp\htdocs\projekt
Dieser Befehl wird deinen Code im Verzeichnis c:\xampp\htdocs\projekt nach den Regeln in der Konfigurationsdatei formatieren. Wenn du nur die Änderungen sehen möchtest, ohne sie anzuwenden, kannst du die Option --dry-run hinzufügen.
Antworten