Howto: Komplettes PHPStorm-Setup für Entwickler

Facebooktwittergoogle_pluspinterestlinkedinmailFacebooktwittergoogle_pluspinterestlinkedinmail

Als Entwickler ist neben einer stabilen und gut funktionierenden Testumgebung auch eine schnelle und hilfreiche Entwicklungsumgebung, auch IDE genannt, wichtig. Für PHP gibt es u.a. PHPStorm. Wie richtet man es richtig ein? Schritt für Schritt die richtige Anleitung.

Zuerst die Grundlagen

PHP IDEs: Welche gibt es und wieso PHPStorm?

Für die Entwicklung mit PHP gibt es sehr viele unterschiedliche IDEs. Die Leiste reicht vom einfachen Editor mit Grundfunktionalität bis hin zur kompletten Entwicklungs-Umgebung mit allen Funktionen. Eine kleine (nicht vollständige) Auflistung von Programmen gibt es als kleine Einführung.

Notepad / TextEdit / gedit

Der einfachste Weg PHP-Code zu schreiben sind native Editoren vom Betriebssystem. Da PHP weder kompiliert noch gepackt werden muss reicht ein solcher Editor.

Die Editoren sind zwar kostenfrei und von vornherein auf dem Betriebssystem installiert bieten aber nahezu keine Funktionalität, die für die Webprogrammierung sinnvoll ist.

Notepad++ / CotEditor / Atom

Editoren, die für die Web-Entwicklung gedacht sind, haben bessere Funktionalität für die PHP-Entwicklung. Sie formatieren Code in besser lesbaren Farben, ergänzen automatisch PHP-Funktionen oder gebe kleinere Tipps zur Verbesserung.

Jedoch gibt es wesentlich besseren Programme, die als komplette Suite alle benötigten Entwicklungswerkzeuge anbieten.

Vollständige IDEs

Eine komplette integrierte Entwicklungsumgebung, wie sie PHPStorm ist, hilft vom Schreiben über das Testen bis hin zum Veröffentlichen des Codes. Es gibt unterschiedliche IDEs für das Web im Internet.

Eclipse

Als kostenfreies Tool bietet Eclipse ein plattformunabhängiges Tool, welches auf Java basiert. Eclipse ist eine sehr performante Java-IDE, die für PHP zweckentfremdet wird. Darum sind nativ nicht alle wichtigen PHP-Funktionalitäten vorhanden. Eclipse ist Plugin-basiert und hat eine große Community. Alle wichtigen Funktionen können erweitert werden.

Leider wirkt Eclipse (meine Meinung) sehr unausgereift und hat sich über Jahre nie richtig weiterentwickelt.

Zend Studio und Oracles NetBeans

Auch Zend sowieso Oracle bieten IDEs an, welche, je nach Geschmack, ausprobiert und genutzt werden können.

Wieso PHPStorm?

PHPStorm ist eine stabile und leistungsfähige Entwicklungsumgebung. Sie hat viele Funktionen und wird sehr oft geupdatet. Die Community ist groß genug, Plugins sind aktuell und bieten erweiterte Funktionen.

Die Entwicklerfirma von PHPStorm namens JetBrains bietet noch zahlreiche andere IDEs. Das Konzept hört sich ähnlich dem von Eclipse an. Jedoch ist Eclipse eine IDE, die für andere Programmiersprachen wie Java oder PHP umkonfiguriert wird. JetBrains hat aber für nahezu jede Programmiersprache eine eigene IDE. So gibt es z.B. für Java IntelliJ, für C/C++ CLion oder für iOS Apps AppCode.

PHPStorm kostet jedoch Geld, was viele Entwickler abschreckt. Diese Kosten sind nicht nur einmalig, sondern regelmäßig. Der Preis beginnt bei 8,90€ / Monat. Schüler und Lehrer erhalten es kostenfrei, Studenten und Startups bekommen Rabatt. Bevor sich entschieden werden muss gibt es komplett kostenfrei unverbindlich 30 Tage zum Ausprobieren die Vollversion.

Welchen WebServer soll ich nehmen?

Die Suche nach einem schnellen, konfigurierbaren und kostengünstigen WebServer und -speicherplatz dauert im Internet sehr lange. Ich habe mich lange damit beschäftigt und dann (durch eine Empfehlung) den Anbieter Uberspace gefunden. Dort gibt es (sehr) frei konfigurierbare 10 GB-Speicherplatz. Frei konfigurierbar bedeutet: Freie Ports, Cronjobs, .htaccess-Zugriff, Zugriff aufs error.log und access.log, unbegrenzt viele MySQL-Datenbanken, MongoDB, SQLIte, Mail-Verwaltung, Domain-Verwaltung usw usw. Der erste Monat ist komplett kostenfrei zum Ausprobieren und benötigt keine privaten Daten.

Erst nach dem Testmonat geht es weiter mit der kostenpflichtigen Nutzung. Wieviel gezahlt wird kann selbst entschieden werden. Dabei sind 1€/Monat der Mindestpreis, 5 – 10€/Monat sind empfohlen. Der Support ist schnell und hilft auch Dinge zu konfigurieren, die nicht automatisch bei jedem Kunden eingestellt sind, ohne Aufpreis.

Diese Anleitung arbeitet auf Basis von Uberspace. Wenn die Wahl auf einen anderen Provider fällt muss dementsprechend angepasst werden.

Was ist mit einer Domain?

Uberspace bietet selbst keine Domains an. Man kann auf seinen Speicherplatz aber problemlos ohne Domain zugreifen. Der Zugriff erfolgt über eine Subdomain von Uberspace.

Es können problemlos Domains von anderen Anbieter mit Uberspace-Speicherplatz genutzt werden. Dazu müssen die DNS-Einträge der Domain geändert werden können. Wie das genau funktioniert erfährt man über das Wiki von Uberspace sowie dem Anbieter, bei dem man seine Domain gekauft hat.

Das nackte PHPStorm

PHPStorm gibt es auf der JetBrains-Seite zum Download. Egal ob zuerst die 30-Testtage genutzt oder direkt mit der Bezahl-Version angefangen werden soll, die Installation ist der erste Schritt. Nach der Installation kann eine bereits vorhandene Lizenz eingegeben oder der Testzeitraum gestartet werden.

Lizenz-Wahl bei PHPStorm
Lizenz-Wahl bei PHPStorm

Direkt nach der Installation muss PHPStorm konfiguriert werden. Dabei muss das Farbschema sowie das Aussehen eingestellt werden. Diese Einstellungen können später wieder geändert werden. Meine empfohlene Konfiguration sieht man im Bild.

Aussehen von PHPStorm einstellen
Aussehen von PHPStorm einstellen

Zugriff ins Netz

Nach der schnellen Installation wartet PHPStorm mit einer Begrüßung auf die ersten Schritte. Um den eigenen WebSpace zu verbinden klick auf Create New Project from Existing Files. Damit synchronisieren wir den kompletten Speicherplatz von Uberspace auf die lokale Festplatte. Wenn wir mehrere unterschiedliche Projekte erstellen wollen lässt sich dies später problemlos machen. Als Szenario wählen wir den Remote WebServer, den wir via FTP/SFTP/FTPS verbinden wollen( (Option 4). Nach Eingabe eines frei gewählten Projekt-Names sowie dem Speicher-Ordner auf der Festplattte folgen die Verbindungseinstellungen. Beispiel-Einstellungen sieht man im Bild.

Verbindungseinstellungen
Verbindungseinstellungen

Beim ersten Verbindungsversuch zum WebServer muss der Verbindung zugestimmt werden.

Erlaube Verbindung
Erlaube Verbindung

Beim letzten Schritt können einzelne Ordner des WebServers hinzugefügt werden. Der einfachste Weg ist den obersten Ordner als Project Root zu definieren.

Ordner hinzufügen
Ordner hinzufügen

Nutze das PHP auf deinem Server

Für zahlreiche Tools wie CodeSniffer oder PHPUnit benötigen ein ausführbares PHP. Das einfachste, und zu empfehlende, ist das bereits installierte PHP auf dem Server zu nutzen. Das geht mit wenigen Schritten:
In den Einstellungen findet sich unter Language & Frameworks -> PHP  die Möglichkeit unterschiedliche CLI Interpreter einzustellen.

Dabei muss auf die drei Punkte  geklickt werden. Im neuen Fenster öffnet sich dann mit dem Klick auf das grüne + die Möglichkeit einen neuen Interpreter hinzuzufügen. Einfach From Docker, Vagrant VM, Remote… auswählen. Der Pfad zum PHP Interpreter bei uberspace CentOS-Systemen liegt unter /usr/bin/php. Meine empfohlene Einstellung steht auf dem folgenden Screenshot.

Wir machen es schön: Code Style und Inspections

Eine gute Code-Basis sind Code-Regeln, sprich Code Style. Damit wird garantiert, dass Code übersichtlich und strukturiert aussieht. Beim Thema Code Style gibt es unterschiedliche Standards. Auch eigene Standards lassen sich definieren.

PSR-2 oder Zend?

Die bekanntesten, und von mir empfohlenen, Standards heißen PSR-2 und Zend Code Standard Unter PSR versteht man das Ziel PHP-Code zu standardisieren. Die PHP Framework Interop Group hat dabei u.a. den PSR-2 Code-Struktur verabschiedet.

Ein ähnlicher Standard kommt von der Zend Framework Group, welche u.a das Zend Framework entwickeln. Der Standard ist ähnlich einem RFC angelegt.

Unter PHPStorm lässt sich der Standard automatisch auswählen. Danach werden Hinweise und Änderungsvorschläge eingeblendet. Teilweise lassen sich Vorschläge automatisch ersetzen.

Die grundlegenden Inspektionen finden sich in den Einstellungen unter Editor -> Inspections. Dort lassen sich u.a. PHP Warnungen aktivieren.

Spezielle Code-Standards kann man unter Editor -> Code Style -> PHP einstellen. Dort gibt es oben rechts unter Set from… den Menüpunkt Predefined style. Wählt einfach den Standard aus, der dir am meisten zusagt.

Minimiere Fehler: CodeSniffer und PHPInspections

Um Fehler oder langsame Code-Stellen zu vermeiden gibt es für PHPStorm zahlreiche Plugins und Erweiterungen. Zwei davon empfehle ich hier wärmstens. CodeSniffer wird direkt auf dem WebServer installiert und Remote eingebunden. PHPInspections ist ein reines Plugin, was regelmäßig geupdatet wird.

Auf der GitHub-Seite vom CodeSniffer gibt es die Installationshinweise. Ein Weg ist die Installation mit PEAR oder Composer. Beides sind Paketverwaltungssysteme für PHP. Noch einfacher: Die gepackte .phar-Datei herunterladen, idealerweise direkt in das eigene Home-Verzeichnis /home/<uberspaceName>/codesniffer:

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
php phpcs.phar -h

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
php phpcbf.phar -h

Um vom PHPStorm darauf zuzugreifen muss in den Einstellungen Languages & Frameworks -> PHP -> Code Sniffer der Pfad dazu angegeben werden. Dazu wird auf die drei Punkte  zur Einstellung der Configuration geklickt. Im neuen Fenster klickt man auf den grünen + und wählt den PHP Interpreter auf dem Server aus (siehe Nutze das PHP auf deinem Server).

Die allgemeinen Einstellungen vom CodeSniffer sind im Screenshot zu sehen. Der Pfad heißt  /home/<uberspaceName>./codesniffer

Mit PHPInspections gibt es eine Erweiterung, die u.a. zahlreiche Empfehlungen anzeigt wie Code schneller und sicherer geschrieben werden kann. Dazu muss sich auf der Plugin-Seite von PHPInspections die neuste Version runtergeladen werden. Diese wird dann in den Einstellungen unter Settings -> Plugins -> Install plugin from disk… eingebunden.

Misc: Rechtschreibung

Eine nette Funktionalität ist ebenso die Kontrolle der Rechtschreibung. Dies basiert auf der englischen Sprache. Es gibt auch deutsche Sprachpakete, die aber bei weitem nicht so aktuell und reich an Worten sind.

Um die englische Sprachkontrolle zu aktivieren wird in den Einstellungen unter folgendes Menü geschaut: Editor -> Inspections. Dort in der langen Liste den Eintrag Spelling mit einem Häckchen versehen.

Wer eigene Wörterbücher oder Worte hinzufügen will findet diese Einstellung unter Editor -> Spelling.

Tests ausführen

Gute Software sollte auch regelmäßig getestet werden. Um Tests zu automatisieren gibt es PHPUnit. Dies wird, ähnlich wie PHPSniffer, in der Umgebung, in der PHP installiert ist heruntergeladen. Bei uns ist dies der Server von Uberspace.

wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar

Die Konfiguration im PHPStorm findet sich unter Language & Frameworks -> PHP -> PHPUnit. Dort wird, wir schon weiter oben, mit dem grünen + eine neue Konfiguration erstellt. Wir wählen dazu By Remote Interpreter und entscheiden uns für unseren oben eingerichteten PHP 7 Interpreter. Die Angaben und Einstellungen müssen so ähnlich aussehen wie auf dem Bild:

2 Kommentare

  1. Hi! Super Artikel – ich kannte den Teil schon bzw. entwickle auch schon sehr aktiv seit einiger Zeit mit PHPStorm und Uberspace ist natürlich auch mein absoluter Favorit. Ich stehe vor dem Problem, dass ich die Verbindung auf meine Datenbank durch PHPStorm nicht hinbekomme. Hast du da vielleicht Tips?

    Gruß

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.