· Laravel · 3 min Lesezeit
Testgetriebene Entwicklung mit Laravel: Entwicklungsumgebung
Im nachfolgenden ersten Teil einer Beitragsserie möchte ich mit der Erstellung eines Blog-Systems in die Testgetriebene Entwicklung mit Laravel einführen. Dabei kann der ein oder andere bestimmt noch etwas über Laravel lernen :) Im ersten Teil richten wir unsere perfekte Entwicklungsumgebung ein.
Vorkehrungen
Ich gehe hier von Windows als Betriebssystem aus. Bis auf Pfadangaben ist die Installationsroutine aber dieselbe.
Für die Entwicklungsumgebung nutzen wir Laravel Homestead. Das ist die offizielle Entwicklungsumgebung für Laravel und kann auch für Symfony oder generische PHP-Projekte verwendet werden. Ich benutze Laravel Homestead mittlerweile für so ziemlich alles. Dafür müssen
- VirtualBox
- Vagrant
- git (UNIX-Tools sollten der Windows-Kommandozeile hinzugefügt werden, das macht einiges leichter)
- PhpStorm (EAP)
installiert sein. Der Rechner muss nach der Installation in der Regel nicht neugestartet werden.
Wofür brauche ich das alles?
VirtualBox ist eine Virtualisierungssoftware. Damit lassen sich durch eine Grafische Oberfläche verschiedenste Betriebssysteme virtualisieren. In der Praxis entsprechen Entwicklungsumgebungen in etwa den Anforderungen der Produktivumgebung. Vagrant dagegen ist ein CLI für VirtualBox und bietet eine einfache Schnittstelle zum Teilen von vorkonfigurierten Betriebssystemen. Das beschleunigt die Einrichtung einer Entwicklungsumgebung ungemein und sorgt mit den anpassbaren Vagrantfile-Konfigurationsdateien zur einfachen Konfiguration von Umgebungen auf Projekt-Basis. Git versorgt die Windows-Eingabeaufforderung mit einem SSH-Daemon und UNIX-Tools und erlaubt uns eine einfache Verbindung mit der Entwicklungsumgebung über eben diese. PhpStorm ist das wohl mächtigste IDE für PHP. Gerade für Nutzer, die mit bestimmten Frameworks und APIs nicht blind vertraut sind, ist die Autovervollständigung ein Segen. Die verfügbare Laravel Erweiterung macht diese Automatische Vervollständigung sofort für uns verfügbar. Dazu aber im zweiten Teil mehr.
Homestead installieren
Es empfiehlt sich, nun über die Kommandozeile (Administrator) zu arbeiten. Zuerst wechseln wir in unser Nutzerverzeichnis und klonen das Git-Repository von laravel/homestead. Eingabeaufforderung
Im selbigen Ordner liegt nun eine neue Datei Homestead.yaml liegt die Konfiguration der Websites und Datenbanken unserer Entwicklungsumgebung. Hier fügen wir nun unser neues Projekt ein:
Hosts-Datei beschreibbar machen
Damit wir unsere Windows-interne Hosts-Datei nicht für jedes Projekt manuell bearbeiten müssen, erlauben wir BENUTZERN den Schreibzugriff auf die Hosts-Datei. Dazu navigieren wir im Windows Explorer zu C:\Windows\System32\drivers\etc und passen die BENUTZER-Rechte entsprechend an: [caption id=“attachment_2429” align=“aligncenter” width=“800”] Hosts-Datei beschreibbar machen[/caption]
Verzeichnis anlegen
Damit beim Aufsetzen von Homestead nichts schiefläuft, müssen wir noch einen Code-Ordner im Nutzerverzeichnis erstellen: Eingabeaufforderung
vagrant-hostsupdater installieren
Um die automatische Aktualisierung der Hosts-Datei in Anspruch zu nehmen, installieren wir nun über die Kommadozeile (Administrator) das vagrant-hostsupdater Plugin für vagrant. Eingabeaufforderung
Privaten Schlüssel generieren
Als letzte Vorbereitung müssen wir noch einen Privaten und dazugehörigen Öffentlichen Schlüssel generieren. Der wird von Laravel Homestead für die Einrichtung benötigt. Eingabeaufforderung
Entwicklungsumgebung herunterladen und installieren
Nun können wir endlich unsere Entwicklungsumgebung installieren. Dazu wechseln wir ins Homestead-Verzeichnis Eingabeaufforderung
Hier wird die Ubuntu-Box, die als Basis der Homestead-Box dient, heruntergeladen. Anschließend wird die benötigte Software installiert. Der Vorgang kann je nach Internetverbindung, Festplatten- und Rechenleistung eine halbe Stunde dauern. Im nächsten Teil gehts dann an den Code: Testgetriebene Entwicklung mit Laravel :) In der Zwischenzeit kann ich jedem nur die Dokumentation für Laravel Homestead ans Herz legen.