PHP-FIG Coding Standards in PHPStorm einrichten

In diesem Blogpost möchte ich beschreiben, wie Sie Coding-Standards von PHP-FIG in PHP-Storm einrichten. Dabei ist es egal, ob Sie PSR1, PSR2 oder das neuere (zum derzeitigen Stand nicht freigegebene) PSR12 nutzen wollen.

Dieses Tutorial beschreibt alles anhand eines Mac-Systems. Auf einem Linux-System dürfte es ähnlich aussehen. Auf Windows-System wahrscheinlich deutlich anders.

Composer einrichten

Das erste, was Sie machen sollten ist, Composer in PHPStorm einzurichten. Auf einem Windows-System können Sie der englischen Anleitung von Composer folgen.

Wie Sie Composer in PHPStorm einrichten (Mac) habe ich schon einmal beschrieben. Folgen Sie dem Tutorial auf der verlinkten Seite um das nachzuholen, falls noch nicht geschehen.

PHPCS Paket via Composer installieren

Nun öffnen Sie den Paket-Manager in PHPStorm wie folgt. Wählen Sie im Menü Tools > Composer > Manage dependencies…

Danach öffnet sich ein Fenster, das ungefähr wie folgt aussieht:

Abhängigkeiten-Fenster in PHPStorm zur Installation von Composer-Paketen
  1. Geben Sie im Suchfeld “phpcs” ein.
  2. Suchen Sie in der Ergebnisliste nach dem Eintrag squizlabs/php_codesniffer.
  3. Ergänzen Sie unter Command line parameters den Wert --dev um das Paket nur für Ihre Entwicklungsumgebung zu installieren.
  4. Klicken Sie auf Install.

Das Paket wird dann installiert. Nun muss der CodeSniffer noch konfiguriert werden.

Codeniffer Pfad festlegen

Nun muss PHPStorm mitgeteilt werden, wo sich die ausführbare Codesniffer-Datei befindet. Das geht wie folgt:

  1. Öffnen Sie das Einstellungsfenster von PHPStorm (unter PHPStorm > Preferences…).
  2. Öffnen Sie den Baum Languages & Frameworks > PHP > Quality Tools.
  3. Im rechten Teil des Fenster legen Sie unter dem Bereich “Code Sniffer” fest, wo sich die Datei befindet. Dazu müssen Sie auf den Button mit den drei Punkten klicken.
  4. Im darauf folgenden Fenster geben Sie unter PHP Code Sniffer Path den Pfad zur Datei an. Das ist in der Regel vendor/bin/phpcs im Verzeichnis, indem Sie den Composer ausgeführt haben.
  5. Ein Klick auf OK schließt das Fenster.
  6. Dann geht’s mit dem nächsten Schritt weiter (siehe unten).
Das Einstellungsfenster in PHPStorm zum Einstellen des Pfads zur phpcs-Datei.

Codesniffer in PHPStorm konfigurieren

  1. Öffnen Sie das Einstellungsfenster von PHPStorm (unter PHPStorm > Preferences…) falls es nicht mehr geöffnet ist.
  2. Öffnen Sie den Baum Editor und klicken Sie dann auf Inspections.
  3. Im rechten Teil des Fenster suchen Sie dann nach unter PHP > Quality Tools nach dem Eintrag PHP Code Sniffer validation.
  4. Setzen Sie einen Haken (siehe Punkt 3 im Bild unten).
  5. Markieren Sie die Checkbox bei Show sniff name und
  6. wählen Sie unter Coding standard dann den gewünschten Wert aus. Im Bild unten sehen Sie, dass ich dort PSR12 ausgewählt habe.
  7. Klicken Sie auf OK um die Änderungen zu übernehmen.

Randnotiz: Wenn das Dropdown-Menü keine Auswahlmöglichkeit bietet, klicken Sie einfach auf den kleinen Reload-Button dahinter.

Einstellungsfenster von PHPStorm mit den einzelnen Schritt zum Aktivieren des PHP Codesniffers.

Wenn Sie den PHP Codesniffer individueller konfigurieren wollen, werfen Sie einen Blick auf die englische Anleitung von Jetbrains.

Konfiguration des Composers

Sie können Informationen über die standardmäßigen und benutzerdefinierten PHP Code Sniffer-Regelsätze in den Skriptbereich der composer.json-Datei aufnehmen. Wenn Sie Projektabhängigkeiten installieren oder aktualisieren, werden die angegebenen Regelsätze erkannt und die PHP Code Sniffer Validierungsprüfung wird automatisch aktiviert.

Ergänzen Sie die Datei wie folgt:

{
  "name": "floriansimeth/php-fig-cs-example",
  "description": "Ultricies Tortor Tellus",
  ...
  "require-dev": {
    "squizlabs/php_codesniffer": "3.4.2"
  },
  "scripts": {
    "phpcs": "phpcs --standard=PSR12"
  }
}