Kurs Inhalt

PHP-Training mit PHPStan, Codestandard und Captain Hook

Statische Code Analyse als Inhouse PHP-Schulung

Professionelle Softwareentwicklung ist wichtig für die Projekte, Kunden, Agenturen und die Gesundheit der eigenen Mitarbeiter. Erste Schritte auf dem Weg sind die statische Code Analyse mit PHPStan und einem einheitlichen Codestandard für das Entwicklerteam. Der Fokus von dieser Inhouse PHP-Schulung liegt dabei auch im richtige Einsatz von Tools, wie PhpStorm und dem Terminal, während der Web Entwicklung. 

Mit statischer Codeanalyse zuverlässige Software im Team entwickeln

Statische Codeanalyse hat viele Vorteile gegenüber anderen Testverfahren, wie beispielsweise Acceptance-Tests oder Integration-Tests mit Codeception. Als PHP-Entwickler braucht man hier kein voll funktionierendes Environment. Das kann ganz einfach lokal mit der Kommandozeile auf bestimmte Verzeichnisse oder Dateien ausgeführt werden. Die statische Codeanalyse mit PHPStan ist exterm schnell und sehr zuverlässig.

PHPStan im Einsatz für PHP-Projekte

PHPStan findet sehr zuverlässig und schnell Fehler und mögliche Fehlerquellen in PHP-Code. Dabei geht die Analyse deutlich über ein Syntax Linting hinaus. Es werden fehlende Dependencies aus Composer gefunden und auch alle Typen von eingehenden und ausgehenden Parametern validiert. Gerade die PHPStan Level 1 und 2 eignen sich hier schon sehr gut, damit PHP-Applikationen mit einer Art Basistesting abgedeckt werden kann. Wenn man aktuelle Legacy Projekte auf das Level 2 bringt, dann hat man schon sehr viel für die Softwarequalität in seinem PHP-Projekt erreicht. Insgesamt stehen hier 5 Level zur Verfügung.

Erste Schritte für professionelle und nachhaltige Entwicklung als PHP-Training für PHP-Projekte

Hat man die PHP-Applikation erfolgreich mit PHPStan als Tests für eine statische Codeanalyse abgedeckt kann man anfangen weitere Schritte als gemeinsam als Team für eine bessere Softwarequalität zu gehen. Am Anfang steht hier ein Codestandard. Dieser definiert in einem Ruleset, wie Code geschrieben werden soll. Hier kommt man zu einem einheitlichen Ergebnis, was beispielsweise das setzen der Klammern oder Einrückungen und Schreibweisen von Arrays angeht. Ein PHP-Codestandard kann dabei sogar automatisch viele  fehlende oder falsche Formatierungen beheben. In Kombination mit PHPStan ist der PHP-Code-Beautifier ein tolles Werkzeug.

PHP-Codestandard als Basis für ein besseres Teamwork

Je nach grüße und Zustand des eigenen PHP-Projekts kann es allerdings sein, daß man nicht alle Regeln eines PHP-Codestanderds, wie PSR-2, umsetzen kann. An dieser Stelle macht ein eigenes Regelwerk Sinn. Hier kann man Regeln aus dem Ruleset anpassen, oder auch aus anderen Standards hinzufügen. Das ist eine gute Möglichkeit sich als Team auf Standards zu einigen ohne ein ein Regelwerk gezwungen zu werden. Wir schauen uns hier ganz praktische Beispiele ein und wie man diese am besten einrichtet und in den Projekten einsetzt.

Captain Hook - AAAARRRGGGHHHH - Ein Toll das PHP-Entwickler einfach glücklich macht

Da die statische Code Analyse nur wenige Millisekunden dauert kann man sie automatisch mit einem GitHook vor seinem eigenen Commit ausführen. Dadurch erhält der Entwickler in exterm kurzer Zeit Feedback zu seinem Code und bekommt das nicht erst aus einer Build Pipeline nachdem länger andauernde Prozesse angelaufen sind. Das beschleunigt den eigenen Entwicklungsprozess extrem. Mit dem Open Source Projekt Captain Hook sind GitHooks sehr schnell eingerichtet und können auch über die versionskontrolle Git im Projekt direkt abgebildet werden. So brauchen Entwickler gar keine weiteren Schritte auszuführen, damit sie das direkt einsetzen können. 

Wir hatten jetzt hier zwei Tage eine ziemlich geile Schulung beim Roland
Wir haben die Basis für Codeception und unsere zukünftigen GitLab Pipelines gelernt. Das geile war das wir das direkt im eigenen Projekt gemacht haben und alle direkt mit der Funktastatur mitgemacht haben.
Jan Rexer - Entwickler und Projektmanagement (RHEINPFALZ)